mirror of
https://github.com/nodejs/node.git
synced 2025-05-08 14:11:40 +00:00
child_process: don't emit same handle twice
It's possible to read multiple messages off the parent/child channel. When that happens, make sure that recvHandle is cleared after emitting the first message so it doesn't get emitted twice.
This commit is contained in:
parent
cfd0dca9ae
commit
9352c19885
@ -337,6 +337,7 @@ function setupChannel(target, channel) {
|
||||
var message = JSON.parse(json);
|
||||
|
||||
handleMessage(target, message, recvHandle);
|
||||
recvHandle = undefined;
|
||||
|
||||
start = i + 1;
|
||||
}
|
||||
|
@ -35,6 +35,7 @@ if (process.argv[2] === 'child') {
|
||||
}
|
||||
|
||||
if (m.cmd === 'close') {
|
||||
assert.equal(socket, undefined);
|
||||
sockets[m.id].once('close', function() {
|
||||
process.send({ id: m.id, status: 'closed' });
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user