lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] event callback in lwip sockets


From: address@hidden
Subject: Re: [lwip-users] event callback in lwip sockets
Date: Wed, 15 Feb 2017 21:01:57 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2

bernard wrote:
Hi, 
Because I need to implement the poll(struct pollfd *fds, nfds_t nfds, int timeout) routine between bsd socket and device fd etc. I have to set the callback to my event callback, then notify upper layer for different kind of fd poll/select. For example:
conn->callback = my_event_callback;

however, there is a ASSERT to check the callback in lwip_accept function:
LWIP_ASSERT("newconn->callback == event_callback", newconn->callback == event_callback);

In the next lwIP version, can it be removed from lwip_accept? thanks.

No. It's not as simple as that. As you might have noticed when reading the code, event_callback controls rcvevent, sendevent and errevent.
While sendevent and errevent are only used for select, rcvevent is used to implement nonblocking sockets, so to remove that callback, the nonblocking code would have to be patched out of sockets.c, too.

You seem to change the code to exchange your socket's netconn->callback, so you can make the ASSERT change as well.

Simon

reply via email to

[Prev in Thread] Current Thread [Next in Thread]