Permalink
Browse files

ChildProcesses cannot be killed if pid is missing

  • Loading branch information...
1 parent 78da9cb commit 5a98fa4809457f843aae5447ce82b660c8b595f3 @ry ry committed Oct 21, 2010
Showing with 8 additions and 13 deletions.
  1. +8 −13 lib/child_process.js
View
@@ -62,15 +62,8 @@ exports.execFile = function (file /* args, options, callback */) {
var stderr = "";
var killed = false;
- function kill(){
- if (killed) return;
- try {
- child.kill(options.killSignal);
- } catch (err) {
- if ("No such process" !== err.message) {
- throw err;
- }
- }
+ function kill () {
+ child.kill(options.killSignal);
killed = true;
}
@@ -167,10 +160,12 @@ util.inherits(ChildProcess, EventEmitter);
ChildProcess.prototype.kill = function (sig) {
- if (!constants) constants = process.binding("constants");
- sig = sig || 'SIGTERM';
- if (!constants[sig]) throw new Error("Unknown signal: " + sig);
- return this._internal.kill(constants[sig]);
+ if (this._internal.pid) {
+ if (!constants) constants = process.binding("constants");
+ sig = sig || 'SIGTERM';
+ if (!constants[sig]) throw new Error("Unknown signal: " + sig);
+ return this._internal.kill(constants[sig]);
+ }
};

0 comments on commit 5a98fa4

Please sign in to comment.