0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
nodejs/lib
Ben Noordhuis 33827e3f68 cluster: remove handles when disconnecting worker
Due to the race window between the master's "disconnect" message and the
worker's "handle received" message, connections sometimes got stuck in
the pending handles queue when calling `worker.disconnect()` in the
master process.

The observable effect from the client's perspective was a TCP or HTTP
connection that simply stalled.  This commit fixes that by closing open
handles in the master when the "disconnect" message is sent.

Fixes: https://github.com/nodejs/node/issues/3551
PR-URL: https://github.com/nodejs/node/pull/3677
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2015-11-06 23:02:11 +01:00
..
internal cluster: remove handles when disconnecting worker 2015-11-06 23:02:11 +01:00
_debug_agent.js
_debugger.js debugger: use strict equality comparison 2015-08-26 13:22:55 -07:00
_http_agent.js lib,src: remove usage of events.EventEmitter 2015-09-23 00:23:08 +05:30
_http_client.js http{s}: don't connect to localhost on invalid URL 2015-10-27 08:47:23 +05:30
_http_common.js http: fix stalled pipeline bug 2015-10-14 12:16:18 -04:00
_http_incoming.js http: do not allow multiple instances of certain response headers 2015-10-06 14:53:21 -07:00
_http_outgoing.js http: remove unneeded cb check from setTimeout() 2015-11-05 11:34:31 -05:00
_http_server.js http: fix stalled pipeline bug 2015-10-14 12:16:18 -04:00
_linklist.js lib,test: deprecate _linklist 2015-10-08 17:32:08 -07:00
_stream_duplex.js node: allow multiple arguments passed to nextTick 2015-04-15 17:02:21 -06:00
_stream_passthrough.js
_stream_readable.js stream: avoid unnecessary concat of a single buffer. 2015-10-14 12:28:52 -07:00
_stream_transform.js stream: simpler stream constructon 2015-02-04 20:19:39 -08:00
_stream_wrap.js _stream_wrap: prevent use after free in TLS 2015-06-30 20:09:22 -07:00
_stream_writable.js stream: fix signature of _write() in a comment 2015-10-13 22:32:21 -07:00
_tls_common.js tls: output warning of setDHParam to console.trace 2015-10-16 11:40:05 +09:00
_tls_legacy.js tls, crypto: add ALPN Support 2015-10-27 01:31:47 +09:00
_tls_wrap.js test: more regression tests for minDHSize option 2015-11-03 11:47:26 +01:00
assert.js assert: support arrow functions in .throws() 2015-10-08 19:26:01 +02:00
buffer.js buffer: fix value check for writeUInt{B,L}E 2015-10-26 14:57:35 -06:00
child_process.js child_process: don't fork bomb ourselves from -e 2015-10-29 01:31:54 +01:00
cluster.js cluster: remove handles when disconnecting worker 2015-11-06 23:02:11 +01:00
console.js console: rename argument of time and timeEnd 2015-10-16 21:03:44 +02:00
constants.js
crypto.js streams: refactor LazyTransform to internal/ 2015-09-14 19:58:04 -07:00
dgram.js lib,src: remove usage of events.EventEmitter 2015-09-23 00:23:08 +05:30
dns.js async_wrap: ensure all objects have internal field 2015-10-01 13:56:25 -06:00
domain.js src: fix --abort-on-uncaught-exception 2015-10-05 18:12:43 -07:00
events.js events,lib: don't require EE#listenerCount() 2015-09-06 21:38:00 +10:00
freelist.js lib,test: add freelist deprecation and test 2015-07-17 19:48:31 -07:00
fs.js fs: reduced duplicate code in fs.write() 2015-10-27 10:48:55 -06:00
http.js lib,src: remove usage of events.EventEmitter 2015-09-23 00:23:08 +05:30
https.js http{s}: don't connect to localhost on invalid URL 2015-10-27 08:47:23 +05:30
module.js module: remove unnecessary JSON.stringify 2015-11-05 09:48:11 -08:00
net.js net: don't throw on bytesWritten access 2015-10-12 08:29:30 -06:00
os.js util: prepend '(node) ' to deprecation messages 2015-07-03 16:32:29 +02:00
path.js path: improve posixSplitPath performance 2015-09-25 08:28:26 -05:00
process.js
punycode.js lib: add missing new for errors lib/*.js 2015-03-24 12:42:15 -07:00
querystring.js lib: don't use global Buffer 2015-06-11 20:24:44 +02:00
readline.js lib,src: remove usage of events.EventEmitter 2015-09-23 00:23:08 +05:30
repl.js repl: handle comments properly 2015-10-28 07:32:07 +05:30
stream.js lib,src: remove usage of events.EventEmitter 2015-09-23 00:23:08 +05:30
string_decoder.js lib: don't use global Buffer 2015-06-11 20:24:44 +02:00
sys.js util: introduce printDeprecationMessage function 2015-06-04 10:59:43 +03:00
timers.js timers: reuse timer in setTimeout().unref() 2015-10-20 14:20:24 -04:00
tls.js tls: remove util and calls to util.format 2015-10-28 16:57:55 -07:00
tty.js util: prepend '(node) ' to deprecation messages 2015-07-03 16:32:29 +02:00
url.js doc: multiple documentation updates cherry picked from v0.12 2015-08-05 08:44:55 -07:00
util.js util: use regexp instead of str.replace().join() 2015-11-06 07:35:05 -08:00
v8.js src: add total_available_size to v8 statistics 2015-08-11 22:51:50 +02:00
vm.js lib: reduce util.is*() usage 2015-01-31 23:47:29 -05:00
zlib.js buffer: fix usage of kMaxLength 2015-08-04 11:56:12 -07:00