From 39d3724860160fcb6723ee709bf5664302c71bf1 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 22 Sep 2014 10:57:42 -0700 Subject: [PATCH] Handle error events in spawned processes Refs #3600 --- build/tasks/task-helpers.coffee | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/tasks/task-helpers.coffee b/build/tasks/task-helpers.coffee index a25f9ea31..a862f291f 100644 --- a/build/tasks/task-helpers.coffee +++ b/build/tasks/task-helpers.coffee @@ -53,8 +53,9 @@ module.exports = (grunt) -> proc = childProcess.spawn(options.cmd, options.args, options.opts) proc.stdout.on 'data', (data) -> stdout.push(data.toString()) proc.stderr.on 'data', (data) -> stderr.push(data.toString()) + proc.on 'error', (processError) -> error ?= processError proc.on 'close', (exitCode, signal) -> - error = new Error(signal) if exitCode != 0 + error ?= new Error(signal) if exitCode != 0 results = {stderr: stderr.join(''), stdout: stdout.join(''), code: exitCode} grunt.log.error results.stderr if exitCode != 0 callback(error, results, exitCode)