nuttx/net/tcp
Fotis Panagiotopoulos 3c54d82d81 net: Fix task block when devif_send fails.
When a task needs to send data, a callback is allocated and the
transmission is happening in a worker task through devif_send.
Synchronization between the two tasks (sender & worker) is
achieved by a semaphore.

If devif_send fails, this semaphore was never posted, leaving
the sending task blocked indefinitely. This commit fixes this
by checking the return code of netif_send, and posting this
semaphore in case of failure.

Polling then stops, and execution is resumed on the sending
task.
2023-06-01 17:05:54 +08:00
..
Kconfig net/tcp:Add NewReno congestion control. 2023-05-16 12:35:01 -03:00
Make.defs net/tcp:Add NewReno congestion control. 2023-05-16 12:35:01 -03:00
tcp_accept.c net: remove conn-related casts 2023-05-10 19:32:09 -03:00
tcp_appsend.c net/tcp: reuse common api to replace some ip select code 2023-01-30 11:25:10 +08:00
tcp_backlog.c tcp_input: drop SYN when no free node in the backlog 2023-04-24 01:52:33 +08:00
tcp_callback.c net/tcp: add out-of-order segment support 2023-01-18 16:24:09 +08:00
tcp_cc.c net/tcp:Add NewReno congestion control. 2023-05-16 12:35:01 -03:00
tcp_close.c net/tcp: Add flag for tcp_close to avoid double free 2023-05-29 13:00:06 +02:00
tcp_conn.c net/semantic/parser: fix compile warning found by sparse 2023-05-30 23:00:00 +08:00
tcp_connect.c net/tcp: remove conn check since which can not be NULL 2023-02-02 13:31:06 +08:00
tcp_devpoll.c net/tcp: reuse common api to replace some ip select code 2023-01-30 11:25:10 +08:00
tcp_dump.c net: cleanup pvconn reference to avoid confuse 2022-08-26 20:58:11 +08:00
tcp_finddev.c net: modify find device logic 2023-02-12 01:25:34 +08:00
tcp_getsockopt.c net: remove conn-related casts 2023-05-10 19:32:09 -03:00
tcp_input.c net/tcp:Add NewReno congestion control. 2023-05-16 12:35:01 -03:00
tcp_ioctl.c net: Align the prototype of sock_intf_s::si_ioctl with file_operations::ioctl 2022-09-06 22:46:37 +08:00
tcp_ipselect.c net/tcp: reuse common api to replace some ip select code 2023-01-30 11:25:10 +08:00
tcp_listen.c net/tcp: Remove tcp_listen_initialize 2022-03-12 19:24:17 +02:00
tcp_monitor.c net: remove conn-related casts 2023-05-10 19:32:09 -03:00
tcp_netpoll.c tcp_input: drop SYN when no free node in the backlog 2023-04-24 01:52:33 +08:00
tcp_notifier.c Typo fixes. 2023-02-17 11:17:11 -03:00
tcp_recvfrom.c net: remove conn-related casts 2023-05-10 19:32:09 -03:00
tcp_recvwindow.c net/tcp: add out-of-order segment support 2023-01-18 16:24:09 +08:00
tcp_send_buffered.c net: Fix task block when devif_send fails. 2023-06-01 17:05:54 +08:00
tcp_send_unbuffered.c net: Fix task block when devif_send fails. 2023-06-01 17:05:54 +08:00
tcp_send.c net: move ttl field into socket_conn_s struct 2023-05-13 12:39:53 +08:00
tcp_sendfile.c net/sendfile: adapt sendfile() to support new driver model 2023-02-14 11:21:09 +08:00
tcp_seqno.c net/tcp: Avoid starting TCP sequence number 0 2022-11-13 09:09:36 +08:00
tcp_setsockopt.c net: remove conn-related casts 2023-05-10 19:32:09 -03:00
tcp_shutdown.c net: remove conn-related casts 2023-05-10 19:32:09 -03:00
tcp_timer.c net/tcp:Add NewReno congestion control. 2023-05-16 12:35:01 -03:00
tcp_txdrain.c net: remove conn-related casts 2023-05-10 19:32:09 -03:00
tcp_wrbuffer.c net/tcp:Add NewReno congestion control. 2023-05-16 12:35:01 -03:00
tcp.h net/tcp: Add flag for tcp_close to avoid double free 2023-05-29 13:00:06 +02:00