mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
30e462e91937ced3847af3fe9c393ebd32294b68
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.
Evented I/O for V8 javascript. 
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
Languages
JavaScript
62.4%
C++
23.1%
Python
10.1%
C
2.7%
HTML
0.6%
Other
0.9%