From bdce719b4eec477ad9f11f869547f594f93ea432 Mon Sep 17 00:00:00 2001 From: oleg Date: Thu, 4 Dec 2014 23:09:43 +0300 Subject: [PATCH] check exit code on close --- lib/command/spawn.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/command/spawn.js b/lib/command/spawn.js index d2e6710..a699d64 100644 --- a/lib/command/spawn.js +++ b/lib/command/spawn.js @@ -31,17 +31,16 @@ Command.prototype.run = function(params, callback) { stdout += data; }); cmd.stderr.on('data', function(data) { - callback(new Error('Scm outputs to stderr: ' + data)); + callback(new Error('Spawned command outputs to stderr: ' + data)); cmd.kill(); }); - cmd.on('exit', function(code) { - if (code !== 0) callback(new Error( - 'Spawned command exits with non-zero code: ' + code - )); - }); // TODO; callback should be called only once (port once from underscore) - cmd.on('close', function() { - callback(null, stdout); + cmd.on('close', function(code) { + var err = null; + if (code !== 0) err = new Error( + 'Spawned command exits with non-zero code: ' + code + ); + callback(err, stdout); }); return cmd; };