0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-30 07:27:22 +01:00
nodejs/lib
Ryan Dahl 0ac2ef924f Do not spin on aceept() with EMFILE
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.
2010-10-23 12:28:20 -07:00
..
assert.js Soft migration of sys -> util, Removal of deprecated utils module. 2010-10-11 15:21:36 -07:00
buffer.js base64 decode should handle whitespace 2010-10-18 11:34:35 -07:00
child_process.js Make sure Error object on exec() gets killed member 2010-10-23 11:37:40 -07:00
constants.js Add require('constants') 2010-09-16 23:22:58 -07:00
crypto.js Soft migration of sys -> util, Removal of deprecated utils module. 2010-10-11 15:21:36 -07:00
dgram.js Soft migration of sys -> util, Removal of deprecated utils module. 2010-10-11 15:21:36 -07:00
dns.js syntax fixes to pass jslint 2010-10-06 20:40:57 -07:00
events.js Add EventEmitter.prototype.once 2010-10-16 20:43:09 -07:00
freelist.js syntax fixes to pass jslint 2010-10-06 20:40:57 -07:00
fs.js Don't require events in fs.js 2010-10-11 16:40:28 -07:00
http.js Fix expect/continue keepalive 2010-10-18 15:38:46 -07:00
net.js Do not spin on aceept() with EMFILE 2010-10-23 12:28:20 -07:00
path.js Removed deprecated methods from lib/path.js 2010-10-11 16:21:21 -07:00
querystring.js Get rid of PHP/Rails style parameter munging. 2010-09-13 12:39:30 -07:00
readline.js Soft migration of sys -> util, Removal of deprecated utils module. 2010-10-11 15:21:36 -07:00
repl.js The cwdRequire hack is no longer necessary with the require.resolve refactor. 2010-10-20 15:22:02 -07:00
stream.js Soft migration of sys -> util, Removal of deprecated utils module. 2010-10-11 15:21:36 -07:00
string_decoder.js Remove require('buffer') in built-in libraries. 2010-09-28 02:31:31 -07:00
sys.js Soft migration of sys -> util, Removal of deprecated utils module. 2010-10-11 15:21:36 -07:00
url.js syntax fixes to pass jslint 2010-10-06 20:40:57 -07:00
util.js Soft migration of sys -> util, Removal of deprecated utils module. 2010-10-11 15:21:36 -07:00