nuttx/net/iob
Andrew Webster 5e3023bef1 TCP: return from write when there is no buffer space
During a write, if there is no more buffer space for the user data,
return the amount that was written instead of waiting until there
is free space.  If nothing has been written yet, then block as before.

This solves a deadlock that occurs if the user data is too large to
fit in the available buffer:  the write thread will block before any
data is added to the write queue, leaving no possibility that more
buffers will free up when they are ACKed (since they have not yet been
sent).  The write thread will then block forever and hold all of the
buffers.
2016-01-22 16:19:20 -06:00
..
iob_add_queue.c Networking: The are issues with the TCP write-ahead buffering if CONFIG_NET_NOINTS is enabled: There is a possibility of deadlocks in certain timing conditions. I have not seen this with the Tiva driver that I have been users but other people claim to see the issue on other platforms. Certainly it is a logic error: The network should never wait for TCP read-ahead buffering space to be available. It should drop the packets immediately. 2015-01-27 21:23:42 -06:00
iob_alloc_qentry.c Fix misc. compilation error/warning detected by tools/testbuild.sh 2015-07-01 14:33:37 -06:00
iob_alloc.c TCP: post buffer semaphore before re-acquiring both 2016-01-22 16:15:10 -06:00
iob_clone.c Add throttle support to the I/O buffer logic 2014-06-24 11:53:19 -06:00
iob_concat.c Remove dangling whitespace 2015-10-04 15:28:54 -06:00
iob_contig.c Forget to add a file in last commit 2014-06-24 15:46:10 -06:00
iob_copyin.c TCP: return from write when there is no buffer space 2016-01-22 16:19:20 -06:00
iob_copyout.c Networking: Allow receipt of empty UDP packets. From Max Neklyudov 2015-08-11 08:34:16 -06:00
iob_dump.c Fix typo in pre-processor command noted by Pierre-noel Bouteville. Also move # of pre-processior command to column 1 2015-09-05 09:10:48 -06:00
iob_free_chain.c Add throttle support to the I/O buffer logic 2014-06-24 11:53:19 -06:00
iob_free_qentry.c Add throttle support to the I/O buffer logic 2014-06-24 11:53:19 -06:00
iob_free_queue.c Add throttle support to the I/O buffer logic 2014-06-24 11:53:19 -06:00
iob_free.c TCP Read-Ahead: Convert to use I/O buffer chains 2014-06-24 15:38:00 -06:00
iob_initialize.c TCP Read-Ahead: Convert to use I/O buffer chains 2014-06-24 15:38:00 -06:00
iob_pack.c Add throttle support to the I/O buffer logic 2014-06-24 11:53:19 -06:00
iob_peek_queue.c Forget to add a file in last commit 2014-06-24 15:46:10 -06:00
iob_remove_queue.c TCP Read-Ahead: Convert to use I/O buffer chains 2014-06-24 15:38:00 -06:00
iob_test.c Remove dangling whitespace 2015-10-04 15:28:54 -06:00
iob_trimhead_queue.c NET: Important fix to the read-ahead buffer queue managment: Consumed bytes were being trimmed from the head of the queue, but the queue head itself was not being updated. From Rony XLN 2014-07-07 07:28:17 -06:00
iob_trimhead.c IOB: Change suggested by Rony Xln 2014-07-08 07:13:50 -06:00
iob_trimtail.c Remove dangling whitespace 2015-10-04 15:28:54 -06:00
iob.h Eliminate some warnings 2015-09-08 09:20:18 -06:00
Kconfig Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation 2015-06-28 08:08:57 -06:00
Make.defs NET: Important fix to the read-ahead buffer queue managment: Consumed bytes were being trimmed from the head of the queue, but the queue head itself was not being updated. From Rony XLN 2014-07-07 07:28:17 -06:00