From 7f28b7a151ee8b5c9ccd197d7d92535f3b909788 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 6 Apr 2017 09:47:33 -0700 Subject: [PATCH 1/3] Add failing spec for fork --eval message bug --- spec/node-spec.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/spec/node-spec.js b/spec/node-spec.js index 98db1efeb08e..07f562f7c9c6 100644 --- a/spec/node-spec.js +++ b/spec/node-spec.js @@ -91,6 +91,16 @@ describe('node feature', function () { done() }) }) + + it('works when sending message to a forked process using the --eval argument', function (done) { + const source = "process.on('message', function (msg) { process.send(msg) })" + const forked = ChildProcess.fork('--eval', [source]) + forked.on('message', (message) => { + assert.equal(message, 'hello') + done() + }) + forked.send('hello') + }) }) describe('child_process.spawn', function () { From c3798be9b8e0508e821c9b5ea5db1ac72cac7ba3 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 6 Apr 2017 09:48:04 -0700 Subject: [PATCH 2/3] Upgrade node for fork --eval cherry pick fix --- vendor/node | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/node b/vendor/node index a6663598aa78..3fe90cfcf54d 160000 --- a/vendor/node +++ b/vendor/node @@ -1 +1 @@ -Subproject commit a6663598aa78832e7955cb93c51a098eac787abb +Subproject commit 3fe90cfcf54dd946980e59daf550a7cdb2317c8f From 588f699d56aef20ea94ed34f3283bc61bd28ee17 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 6 Apr 2017 09:52:52 -0700 Subject: [PATCH 3/3] :art: --- spec/node-spec.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/node-spec.js b/spec/node-spec.js index 07f562f7c9c6..8f1d7163bbbb 100644 --- a/spec/node-spec.js +++ b/spec/node-spec.js @@ -92,10 +92,10 @@ describe('node feature', function () { }) }) - it('works when sending message to a forked process using the --eval argument', function (done) { - const source = "process.on('message', function (msg) { process.send(msg) })" + it('works when sending a message to a process forked with the --eval argument', function (done) { + const source = "process.on('message', (message) => { process.send(message) })" const forked = ChildProcess.fork('--eval', [source]) - forked.on('message', (message) => { + forked.once('message', (message) => { assert.equal(message, 'hello') done() })