Hacker News new | ask | show | jobs
by FooBarWidget 5374 days ago
Even standard system calls are messily implemented. poll() is broken. kqueue is broken. See http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#OS_X_AN...

Last year I even discovered a kernel bug in their file descriptor passing implementation that, AFAIK, still isn't fixed. Various signal handling properties are more buggy than on Linux.

1 comments

TCP_NOPUSH is broken, too - if you enable it and then later disable it with setsockopt, it doesn't immediately send any pending data (as it does on FreeBSD, and as TCP_CORK does on Linux).

IIRC, a lot of their code came from FreeBSD back in the day. I wonder why they didn't keep it in sync?