[erlang-questions] kpoll still using select
Thu Jul 9 16:20:21 CEST 2009
Joel Reymont wrote:
> It's all coming back to me...
> I think it's wrong for the OTP team to hide behind broken poll on Mac
> OSX to clip fds to 1024 when kernel poll is used. The whole point of
> using kernel poll is to effectively manage more than 1024 descriptors.
> I also think it's wrong to force users to edit system header files to
> bump the available number of file descriptors. I bumped FD_SETSIZE to
> 30720 in /usr/include/sys/select.h (/usr/include/sys/_structs.h
> technically) so select may choke if it falls back.
> I'm fine with select choking on a larger fd if it falls back. I don't
> want any select fallbacks, otherwise I would not be using kernel poll.
Disabling fallback on select is not an option. That will fail to poll
the tty device and make the emulator unable to read from STDIN.
To make select fail for large fd's would probably work better. But you
will have an emulator with unstable semantics. driver_select may fail
arbitrary depending on the value the fd happended to get. If you want
this, you can patch erl_poll.c as suggested in the earlier thread. You
don't have to edit any system headers.
Let's hope for a healthier poll() in the next release of OSX.
More information about the erlang-questions