[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [patch #5211] Sockets: Non-blocking write support
From: |
michael williamson |
Subject: |
[lwip-devel] [patch #5211] Sockets: Non-blocking write support |
Date: |
Fri, 20 Oct 2006 19:25:51 +0000 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7 |
Follow-up Comment #1, patch #5211 (project lwip):
We tried this patch. It is not adequate. The problem is that there are
multiple ways for the transport layer (tcp_enqueue) to declare failure and
not complete a posted write.
We were able to "break" this fix by posting lots of small writes one at a
time to the socket. Tf the number of segments queued for the given
connection would exceed the total number allowable (even though there is
enough send buffer space) the tcp thread will fail to post the data, and
you'll still lock.
The proper place to fix this is in the netconn_write() function, we've
successfully patched it internally but changed the API in doing so (in order
to support the flags option in addition to the ioctl() technique). We've
hesitated posting this as it those folks using the raw api would likely
bristle at the change.
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/patch/?5211>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lwip-devel] [patch #5211] Sockets: Non-blocking write support,
michael williamson <=