cluster: close ownerless handles on disconnect()
When a worker is disconnecting, it shuts down all of the handles it is waiting on. It is possible that a handle does not have an owner, which causes a crash. This commit closes such handles without accessing the missing owner. Fixes: https://github.com/nodejs/node/issues/6561 PR-URL: https://github.com/nodejs/node/pull/6909 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
This commit is contained in:
parent
dd21bd9f01
commit
aadfe6c249
@ -719,7 +719,11 @@ function workerInit() {
|
||||
const handle = handles[key];
|
||||
delete handles[key];
|
||||
waitingCount++;
|
||||
handle.owner.close(checkWaitingCount);
|
||||
|
||||
if (handle.owner)
|
||||
handle.owner.close(checkWaitingCount);
|
||||
else
|
||||
handle.close(checkWaitingCount);
|
||||
}
|
||||
|
||||
checkWaitingCount();
|
||||
|
Loading…
x
Reference in New Issue
Block a user