mirror of
https://git.savannah.nongnu.org/git/lwip.git
synced 2026-05-16 05:06:54 +08:00
Implement LWIP_SO_RCVTIMEO configuration option to enable/disable SO_RCVTIMEO on UDP sockets/netconn.
This commit is contained in:
@@ -92,7 +92,9 @@ struct netconn {
|
||||
sys_mbox_t acceptmbox;
|
||||
sys_sem_t sem;
|
||||
int socket;
|
||||
#if LWIP_SO_RCVTIMEO
|
||||
int recv_timeout;
|
||||
#endif /* LWIP_SO_RCVTIMEO */
|
||||
u16_t recv_avail;
|
||||
void (* callback)(struct netconn *, enum netconn_evt, u16_t len);
|
||||
};
|
||||
|
||||
@@ -420,6 +420,11 @@ a lot of data that needs to be copied, this should be set high. */
|
||||
#define LWIP_POSIX_SOCKETS_IO_NAMES 1
|
||||
#endif
|
||||
|
||||
/* Enable SO_RCVTIMEO processing (only for UDP sockets) */
|
||||
#ifndef LWIP_SO_RCVTIMEO
|
||||
#define LWIP_SO_RCVTIMEO 0
|
||||
#endif
|
||||
|
||||
/* Enable SO_REUSEADDR and SO_REUSEPORT options */
|
||||
#ifndef SO_REUSE
|
||||
#define SO_REUSE 0
|
||||
|
||||
@@ -53,7 +53,8 @@ struct sys_timeo {u8_t dummy;};
|
||||
#define sys_sem_wait(s)
|
||||
#define sys_sem_free(s)
|
||||
#define sys_mbox_new() 0
|
||||
#define sys_mbox_fetch(m,d,t)
|
||||
#define sys_mbox_fetch_timeout(m,d,t)
|
||||
#define sys_mbox_fetch(m,d)
|
||||
#define sys_mbox_post(m,d)
|
||||
#define sys_mbox_free(m)
|
||||
|
||||
@@ -116,8 +117,12 @@ sys_mbox_t sys_mbox_new(void);
|
||||
void sys_mbox_post(sys_mbox_t mbox, void *msg);
|
||||
u32_t sys_arch_mbox_fetch(sys_mbox_t mbox, void **msg, u32_t timeout);
|
||||
void sys_mbox_free(sys_mbox_t mbox);
|
||||
void sys_mbox_fetch(sys_mbox_t mbox, void **msg, u32_t timeout);
|
||||
|
||||
#if LWIP_SO_RCVTIMEO
|
||||
void sys_mbox_fetch_timeout(sys_mbox_t mbox, void **msg, u32_t timeout);
|
||||
#define sys_mbox_fetch(m,d) sys_mbox_fetch_timeout(m,d,0)
|
||||
#else
|
||||
void sys_mbox_fetch(sys_mbox_t mbox, void **msg);
|
||||
#endif /* LWIP_SO_RCVTIMEO */
|
||||
|
||||
/* Thread functions. */
|
||||
sys_thread_t sys_thread_new(void (* thread)(void *arg), void *arg, int prio);
|
||||
|
||||
Reference in New Issue
Block a user