lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [bug #16830] err_tcp() posts to connection mailbox when no


From: Jonathan Larmour
Subject: [lwip-devel] [bug #16830] err_tcp() posts to connection mailbox when no pend on the mailbox is active
Date: Thu, 05 Apr 2007 10:20:46 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.10) Gecko/20070223 Fedora/1.5.0.10-1.fc5 Firefox/1.5.0.10

Follow-up Comment #4, bug #16830 (project lwip):

I don't think this patch is right I'm afraid. An error may be indicated at
any time, not just during connection. And given that, if the connection is
already made, a thread will remain stuck waiting for a response from its
api_msg_post call (which waits on the connection mbox) when an error
happens.

Rereading the initial report in this bug, I think the analysis may be
slightly wrong when it says: "It appears that this only occurs when the
connection is attempting to connect via a call to netconn_connect()."

I can think of various solutions that only work if we can add an extra field
to struct netconn. Perhaps one would be to change thetested "state" member
into a u8_t flags field, allowing us to use 3 bits for what is the current
"state", and allowing us further bits for other purposes, including one bit
to indicate whether there is a thread waiting on the connection's mbox.

Since err_tcp can be set asynchronously, testing/setting that bit would have
to be protected. I don't think we can use the connection semaphore for this,
so rather than create a new semaphore maybe just SYS_ARCH_PROTECT ?

Or some other alternative solution?



    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?16830>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]