Implemented timeout on send (TCP only, bug #33820)
This commit is contained in:
@@ -1535,7 +1535,9 @@ lwip_getsockopt(int s, int level, int optname, void *optval, socklen_t *optlen)
|
||||
case SO_ERROR:
|
||||
case SO_KEEPALIVE:
|
||||
/* UNIMPL case SO_CONTIMEO: */
|
||||
/* UNIMPL case SO_SNDTIMEO: */
|
||||
#if LWIP_SO_SNDTIMEO
|
||||
case SO_SNDTIMEO:
|
||||
#endif /* LWIP_SO_SNDTIMEO */
|
||||
#if LWIP_SO_RCVTIMEO
|
||||
case SO_RCVTIMEO:
|
||||
#endif /* LWIP_SO_RCVTIMEO */
|
||||
@@ -1780,6 +1782,11 @@ lwip_getsockopt_internal(void *arg)
|
||||
s, *(int *)optval));
|
||||
break;
|
||||
|
||||
#if LWIP_SO_SNDTIMEO
|
||||
case SO_SNDTIMEO:
|
||||
*(int *)optval = netconn_get_sendtimeout(sock->conn);
|
||||
break;
|
||||
#endif /* LWIP_SO_SNDTIMEO */
|
||||
#if LWIP_SO_RCVTIMEO
|
||||
case SO_RCVTIMEO:
|
||||
*(int *)optval = netconn_get_recvtimeout(sock->conn);
|
||||
@@ -1934,7 +1941,9 @@ lwip_setsockopt(int s, int level, int optname, const void *optval, socklen_t opt
|
||||
/* UNIMPL case SO_DONTROUTE: */
|
||||
case SO_KEEPALIVE:
|
||||
/* UNIMPL case case SO_CONTIMEO: */
|
||||
/* UNIMPL case case SO_SNDTIMEO: */
|
||||
#if LWIP_SO_SNDTIMEO
|
||||
case SO_SNDTIMEO:
|
||||
#endif /* LWIP_SO_SNDTIMEO */
|
||||
#if LWIP_SO_RCVTIMEO
|
||||
case SO_RCVTIMEO:
|
||||
#endif /* LWIP_SO_RCVTIMEO */
|
||||
@@ -2160,6 +2169,11 @@ lwip_setsockopt_internal(void *arg)
|
||||
LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, SOL_SOCKET, optname=0x%x, ..) -> %s\n",
|
||||
s, optname, (*(int*)optval?"on":"off")));
|
||||
break;
|
||||
#if LWIP_SO_SNDTIMEO
|
||||
case SO_SNDTIMEO:
|
||||
netconn_set_sendtimeout(sock->conn, (s32_t)*(int*)optval);
|
||||
break;
|
||||
#endif /* LWIP_SO_SNDTIMEO */
|
||||
#if LWIP_SO_RCVTIMEO
|
||||
case SO_RCVTIMEO:
|
||||
netconn_set_recvtimeout(sock->conn, *(int*)optval);
|
||||
|
||||
Reference in New Issue
Block a user