[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:


  Message sent via/by Savannah

reply via email to

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