Kalle Olavi Niemitalo <k...@iki.fi> writes: > I wonder how hard it would be to implement those select ops in > the translator without hogging a thread for each.
To clarify: if one thread in a program calls select on an fd_set that lists ten sockets, then glibc sends ten io_select requests before it waits for any response, and this costs ten threads in the lwip translator if none of the sockets is ready. Adding lwip_poll does not help with that. The struct lwip_select_cb would have to be allocated from the heap and there would have to be a way to unlink and free it if glibc destroys the reply port.