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
_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to