node-cleanup
Advanced tools
Comparing version 2.1.0 to 2.1.1
{ | ||
"name": "node-cleanup", | ||
"version": "2.1.0", | ||
"description": "installs cleanup handlers that always run on exiting node", | ||
"version": "2.1.1", | ||
"description": "installs custom cleanup handlers that run on exiting node", | ||
"main": "node-cleanup.js", | ||
@@ -6,0 +6,0 @@ "scripts": { |
@@ -109,3 +109,3 @@ # node-cleanup | ||
```js | ||
``` | ||
function nodeCleanup(cleanupHandler: Function): void | ||
@@ -135,3 +135,3 @@ function nodeCleanup(cleanupHandler: Function, stderrMessages: object): void | ||
```js | ||
``` | ||
function cleanupHandler(exitCode: number|null, signal: string|null): boolean? | ||
@@ -142,3 +142,3 @@ ``` | ||
Node.js defines [these standard exit codes](https://nodejs.org/api/process.html#process_exit_codes), but it does not appear to use code values >128 for signals. According to the node.js docs, [these are the possible signals](http://man7.org/linux/man-pages/man7/signal.7.html). | ||
Node.js defines [these standard exit codes](https://nodejs.org/api/process.html#process_exit_codes), but it does not appear to use code values >128 for signals. According to the node.js docs, [these are the possible signals](http://man7.org/linux/man-pages/man7/signal.7.html), but the cleanup handlers only run on SIGINT (e.g. *Ctrl-C*), SIGHUP, SIGQUIT, or SIGTERM. (It is not possible to intercept SIGKILL.) | ||
@@ -176,4 +176,4 @@ The return value of a cleanup handler is only significant for signals. If any cleanup handler returns a boolean `false`, the process does not exit. If they all return `true` (or for backwards compatibility, no return value), the process exits, reporting the signal to the parent process as the reason for the exit. The process always exits after calling the cleanup handlers for non-signals. | ||
## Credit | ||
## Acknowledgements | ||
This module began by borrowing and modifying code from CanyonCasa's [answer to a stackoverflow question](http://stackoverflow.com/a/21947851/650894). I had found the code necessary for all my node projects. @Banjocat piped in with a [comment](http://stackoverflow.com/questions/14031763/doing-a-cleanup-action-just-before-node-js-exits/21947851#comment68567869_21947851) about how the solution didn't properly handle SIGINT. (See [this detailed explanation](https://www.cons.org/cracauer/sigint.html) of the SIGINT problem). I have completely rewritten the module to properly deal with SIGINT and other signals (I hope!). The rewrite also provides some additional flexibility that @zixia and I found ourselves needing for our respective projects. |
51948