You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.4 KiB
39 lines
1.4 KiB
/** |
|
* This is not the set of all possible signals. |
|
* |
|
* It IS, however, the set of all signals that trigger |
|
* an exit on either Linux or BSD systems. Linux is a |
|
* superset of the signal names supported on BSD, and |
|
* the unknown signals just fail to register, so we can |
|
* catch that easily enough. |
|
* |
|
* Windows signals are a different set, since there are |
|
* signals that terminate Windows processes, but don't |
|
* terminate (or don't even exist) on Posix systems. |
|
* |
|
* Don't bother with SIGKILL. It's uncatchable, which |
|
* means that we can't fire any callbacks anyway. |
|
* |
|
* If a user does happen to register a handler on a non- |
|
* fatal signal like SIGWINCH or something, and then |
|
* exit, it'll end up firing `process.emit('exit')`, so |
|
* the handler will be fired anyway. |
|
* |
|
* SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised |
|
* artificially, inherently leave the process in a |
|
* state from which it is not safe to try and enter JS |
|
* listeners. |
|
*/ |
|
export const signals = []; |
|
signals.push('SIGHUP', 'SIGINT', 'SIGTERM'); |
|
if (process.platform !== 'win32') { |
|
signals.push('SIGALRM', 'SIGABRT', 'SIGVTALRM', 'SIGXCPU', 'SIGXFSZ', 'SIGUSR2', 'SIGTRAP', 'SIGSYS', 'SIGQUIT', 'SIGIOT' |
|
// should detect profiler and enable/disable accordingly. |
|
// see #21 |
|
// 'SIGPROF' |
|
); |
|
} |
|
if (process.platform === 'linux') { |
|
signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT'); |
|
} |
|
//# sourceMappingURL=signals.js.map
|