[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [task #7865] implement non-blocking SEND operation (socket)
From: |
Simon Goldschmidt |
Subject: |
[lwip-devel] [task #7865] implement non-blocking SEND operation (socket) |
Date: |
Sat, 13 Feb 2010 17:12:30 +0000 |
User-agent: |
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; de; rv:1.9.2) Gecko/20100115 Firefox/3.6 |
Update of task #7865 (project lwip):
Status: None => Ready For Test
Percent Complete: 0% => 90%
Assigned to: None => goldsimon
_______________________________________________________
Follow-up Comment #7:
As described in last comment, I've added nonblocking write (for netconn and
sockets). Once such a nonblocking write failed, sent_tcp and poll_tcp will
check if there's enough buffer and mark the socket writable again.
Also, lwip_send() checks if the data would ever fit into the buffers and
returns EMSGSIZE if not - I'm not sure what's the correct error here...
There's one lwIP-related problem: when a nonblocking write fails and poll_tcp
marks the socket writable again, the next call could fail again if 'size >
TCP_SNDLOWAT' (because TCP_SNDLOWAT is used when marking the socket writable).
I don't know how other stacks solve this, but for us, the next call to write
would return EAGAIN again.
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/task/?7865>
_______________________________________________
Nachricht geschickt von/durch Savannah
http://savannah.nongnu.org/
- [lwip-devel] [task #7865] implement non-blocking SEND operation (socket),
Simon Goldschmidt <=