Ben Noordhuis 30e462e919 cluster: propagate bind errors
This commit fixes a bug where the cluster module failed 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.
2012-02-16 23:47:17 +01:00
2012-02-16 23:47:17 +01:00
2012-02-16 22:19:48 +01:00
2012-02-16 23:47:17 +01:00
2012-02-07 13:32:53 -08:00
2011-12-14 03:38:41 +01:00
2012-01-27 16:32:19 -08:00
2012-02-02 16:56:42 -08:00
2012-02-07 13:32:53 -08:00
2011-09-12 21:48:30 +00:00
2011-12-05 16:20:44 -08:00
2012-01-23 13:11:33 -08:00
2011-12-16 11:38:20 -08:00

Evented I/O for V8 javascript. Build Status

To build:

Unix/Macintosh (requires python 2.6 or 2.7):

./configure
make
make install

Windows:

vcbuild.bat

To run the tests:

Unix/Macintosh:

make test

Windows:

vcbuild.bat test

To build the documentation:

make doc

To read the documentation:

man doc/node.1

Resources for Newcomers

Description
Node.js JavaScript runtime 🐢🚀 nodejs.org
Readme Multiple Licenses 1.4 GiB
Languages
JavaScript 62.4%
C++ 23.1%
Python 10.1%
C 2.7%
HTML 0.6%
Other 0.9%