When a server hit EMFILE it would continue to try to accept new connections from the queue. This patch introduces a timeout of one second where it will stop trying to accept new files. After the second is over it tries again. This is a rather serious bug that has been effecting many highly concurrent programs. It was introduced in 4593c0, version v0.2.0. TODO: A test for this situation. Currently I test it like this termA% cd projects/node termA% ulimit -n 256 termA% ./node benchmark/idle_server.js termB% cd projects/node termB% ./node benchmark/idle_clients.js And watch how the server process behaves.