libuv/include
Alexis Campailla 6d3a051eb4 windows: relay TCP bind errors via ipc
This is the libuv side of the fix for Node's cluster module on Windows.
https://github.com/joyent/node/issues/7691

Windows and Unix return certain socket errors (i.e. EADDRINUSE) at
different times: bind on Windows, and listen on Unix.
In an effort to hide this difference, libuv on Windows stores such
errors in the bind_error field of uv_tcp_t, to defer raising it at
listen time.
This worked fine except for the case in which a socket is shared in
a Node cluster and a bind error occurs.

A previous attempt to fix this (
d1e6be1460
3da36fe00e
) was flawed becaused in an attempt to relay the error at the JS level
it caused the master to start accepting connections.

With this new approach, libuv itself is relaying the bind errors,
providing for a uniform behavior of uv_tcp_listen.
2014-07-31 17:24:40 +02:00
..
android-ifaddrs.h android: add support of ifaddrs in android 2014-03-16 23:16:25 +01:00
pthread-fixes.h unix: workaround broken pthread_sigmask on Android 2014-03-06 11:54:50 +01:00
stdint-msvc2008.h build: switch to autotools 2013-07-02 01:21:16 +02:00
tree.h build: switch to autotools 2013-07-02 01:21:16 +02:00
uv-aix.h aix: improve AIX compatibility 2014-07-22 22:57:24 +02:00
uv-bsd.h unix, windows: remove unneeded define 2014-05-08 09:08:33 +02:00
uv-darwin.h unix, windows: remove unneeded define 2014-05-08 09:08:33 +02:00
uv-errno.h unix, windows: return system error on EAI_SYSTEM 2014-06-16 10:09:45 +02:00
uv-linux.h unix, windows: remove unneeded define 2014-05-08 09:08:33 +02:00
uv-sunos.h unix, windows: remove unneeded define 2014-05-08 09:08:33 +02:00
uv-threadpool.h unix, windows: use the same threadpool implementation 2014-06-27 14:27:04 +02:00
uv-unix.h aix: improve AIX compatibility 2014-07-22 22:57:24 +02:00
uv-version.h Now working on v0.11.27 2014-06-27 04:41:02 +04:00
uv-win.h windows: relay TCP bind errors via ipc 2014-07-31 17:24:40 +02:00
uv.h unix, windows: add uv_fs_mkdtemp 2014-07-31 09:43:55 +02:00