Implement SO_RCVTIMEO on UDP sockets/netconn.

This commit is contained in:
fbernon
2007-03-06 16:41:02 +00:00
parent 874bfe19d2
commit 7fd37d4e87
9 changed files with 129 additions and 106 deletions

View File

@@ -46,7 +46,7 @@ struct sswt_cb
void
sys_mbox_fetch(sys_mbox_t mbox, void **msg)
sys_mbox_fetch(sys_mbox_t mbox, void **msg, u32_t timeout)
{
u32_t time;
struct sys_timeouts *timeouts;
@@ -59,7 +59,7 @@ sys_mbox_fetch(sys_mbox_t mbox, void **msg)
timeouts = sys_arch_timeouts();
if (!timeouts || !timeouts->next) {
sys_arch_mbox_fetch(mbox, msg, 0);
sys_arch_mbox_fetch(mbox, msg, timeout);
} else {
if (timeouts->next->time > 0) {
time = sys_arch_mbox_fetch(mbox, msg, timeouts->next->time);
@@ -78,7 +78,7 @@ sys_mbox_fetch(sys_mbox_t mbox, void **msg)
memp_free(MEMP_SYS_TIMEOUT, tmptimeout);
if (h != NULL) {
LWIP_DEBUGF(SYS_DEBUG, ("smf calling h=%p(%p)\n", (void *)h, (void *)arg));
h(arg);
h(arg);
}
/* We try again to fetch a message from the mbox. */