signal-exit
Advanced tools
Comparing version 1.1.0 to 1.2.0
10
index.js
@@ -10,6 +10,8 @@ var assert = require('assert') | ||
var listener = function () { | ||
process.removeListener(sig, listener) | ||
cb(process.exitCode || signals[sig], sig) | ||
process.kill(process.pid, sig) | ||
// If there are no other listeners, do the default action. | ||
if (process.listeners(sig).length === 1) { | ||
process.removeListener(sig, listener) | ||
cb(process.exitCode || signals[sig], sig) | ||
process.kill(process.pid, sig) | ||
} | ||
} | ||
@@ -16,0 +18,0 @@ |
{ | ||
"name": "signal-exit", | ||
"version": "1.1.0", | ||
"version": "1.2.0", | ||
"description": "when you want process.on('exit') to fire when a process is killed with a signal.", | ||
@@ -25,3 +25,3 @@ "main": "index.js", | ||
"chai": "^2.3.0", | ||
"nyc": "^1.3.0", | ||
"nyc": "^2.0.0", | ||
"standard": "^3.9.0", | ||
@@ -28,0 +28,0 @@ "tap": "^1.0.4" |
/* global describe, it */ | ||
var exec = require('child_process').exec, | ||
expect = require('chai').expect | ||
expect = require('chai').expect, | ||
assert = require('assert') | ||
@@ -41,2 +42,11 @@ require('chai').should() | ||
}) | ||
it('does not exit if user handles signal', function (done) { | ||
exec(process.execPath + ' ./test/fixtures/signal-listener.js', function (err, stdout, stderr) { | ||
assert.equal(err.code, null) | ||
assert.equal(err.signal, 'SIGHUP') | ||
assert.equal(stdout, 'exited calledListener=4, code=129, signal="SIGHUP"\n') | ||
done() | ||
}) | ||
}) | ||
}) |
6339
11
146