node/lib
Ben Noordhuis 532d9929c7 cluster: propagate bind errors
This commit fixes a bug where the cluster module fails to propagate
EADDRINUSE errors.

When a worker starts a (net, http) server, it requests the listen socket
from its master who then creates and binds the socket.

Now, OS X and Windows don't always signal EADDRINUSE from bind() but
instead defer the error until a later syscall. libuv mimics this
behaviour to provide consistent behaviour across platforms but that
means the worker could end up with a socket that is not actually bound
to the requested addresss.

That's why the worker now checks if the socket is bound, raising
EADDRINUSE if that's not the case.

Fixes #2721.
2013-03-05 15:23:55 +01:00
..
_debugger.js Remove octal escape sequences and avoid reserved keyword 2012-07-06 19:28:35 -07:00
_linklist.js Update copyright headers 2011-03-14 17:37:05 -07:00
assert.js assert: fix throws() throws an error without message property 2012-07-29 19:48:16 +09:00
buffer.js buffer: slow buffer copy compatibility fix 2013-01-25 10:42:38 -08:00
buffer_ieee754.js Fixed a lot of jslint errors. 2011-10-05 18:51:06 -07:00
child_process.js child process: fix processes with IPC channel don't emit 'close' 2012-08-30 16:13:27 +02:00
cluster.js Avoid redeclaring variable 2012-07-06 19:28:35 -07:00
console.js console: throw when no such label exists in `console.timeEnd` 2012-04-29 22:27:45 +02:00
constants.js Update copyright headers 2011-03-14 17:37:05 -07:00
crypto.js Merge remote-tracking branch 'ry/v0.6' into v0.6-merge 2012-05-15 11:37:34 -07:00
dgram.js dgram: don't assert on send('string') 2013-01-08 04:32:40 +01:00
dns.js dns: make error message match errno 2013-01-18 12:13:32 +01:00
domain.js domain: Remove stray console.log 2012-09-25 11:08:52 -07:00
events.js events: Don't clobber pre-existing _events obj in EE ctor 2012-10-25 13:37:08 -07:00
freelist.js Update copyright headers 2011-03-14 17:37:05 -07:00
fs.js fs: fix WriteStream fd leak 2012-12-12 09:46:22 +01:00
http.js http: use socket.once, not socket.on 2013-03-01 13:11:40 +01:00
https.js https: make https.get() accept a URL 2012-08-24 16:56:06 +02:00
module.js module: add filename to require() json errors 2012-07-06 15:26:41 -07:00
net.js cluster: propagate bind errors 2013-03-05 15:23:55 +01:00
os.js Add --no-deprecation and --trace-deprecation flags 2012-06-21 12:05:33 -07:00
path.js Add --no-deprecation and --trace-deprecation flags 2012-06-21 12:05:33 -07:00
punycode.js punycode: Update to v1.0.0 2012-02-27 14:03:18 -08:00
querystring.js trivial: Doc typo and lint fix 2012-06-19 14:07:48 -07:00
readline.js repl: call resume() after setRawMode() 2012-10-24 02:52:18 +02:00
repl.js repl: ensure each REPL instance gets its own "context" 2012-10-12 16:37:17 -07:00
stream.js stream.pipe: Don't call destroy() unless it's a function 2012-09-10 16:00:27 -07:00
string_decoder.js string_decoder: added support for UTF-16LE 2012-05-05 22:47:24 +09:00
sys.js Fix #3577 Un-break require('sys') 2012-06-28 10:14:03 -07:00
timers.js timers: fix handling of large timeouts 2012-07-05 23:07:27 +02:00
tls.js tls: follow RFC6125 more stricly 2013-01-18 03:48:05 +04:00
tty.js Add --no-deprecation and --trace-deprecation flags 2012-06-21 12:05:33 -07:00
url.js url: parse hostnames that start with - or _ 2012-10-25 01:06:00 +02:00
util.js util: make util.inspect() work when "hasOwnProperty" is overwritten 2012-09-08 15:09:59 -07:00
vm.js lint 2012-03-03 23:48:57 -08:00
zlib.js zlib: reduce memory consumption, release early 2013-02-05 22:25:54 +01:00