node/lib/internal
Ben Noordhuis d46d9f1dd4 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-12-23 08:38:33 -08:00
..
streams streams: refactor LazyTransform to internal/ 2015-09-15 13:53:21 -04:00
child_process.js child_process: null channel handle on close 2015-09-24 22:09:46 -07:00
cluster.js cluster: remove handles when disconnecting worker 2015-12-23 08:38:33 -08:00
freelist.js
module.js node: add -c|--check CLI arg to syntax check script 2015-10-07 20:39:15 -07:00
readme.md doc: add internal modules notice 2015-08-25 11:58:50 -04:00
repl.js repl: don't crash if cannot open history file 2015-12-23 08:38:33 -08:00
socket_list.js lib,src: remove usage of events.EventEmitter 2015-09-23 08:39:34 +10:00
util.js util: prepend '(node) ' to deprecation messages 2015-07-03 16:32:29 +02:00

Internal Modules

The modules in lib/internal are intended for internal use in Node.js core only, and are not accessible with require() from user modules. These are subject to change at any time. Reliance on these modules outside of core is not supported in any way.