Thank Simon,
Yes, there are more changes in sockets.c, and the similar event handler
should be added in my_callback. I mean, that LWIP_ASSERT can be ignore.
Maybe I can provide the modification later, thanks.




Best Regards,
Bernard Xiong


2017-02-16 4:01 GMT+08:00 [email protected] <[email protected]>:

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

Reply via email to