123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- // 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.
- //
- // 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.
- module.exports = [
- 'SIGABRT',
- 'SIGALRM',
- 'SIGHUP',
- 'SIGINT',
- 'SIGTERM'
- ]
- if (process.platform !== 'win32') {
- module.exports.push(
- 'SIGVTALRM',
- 'SIGXCPU',
- 'SIGXFSZ',
- 'SIGUSR2',
- 'SIGTRAP',
- 'SIGSYS',
- 'SIGQUIT',
- 'SIGIOT'
- // should detect profiler and enable/disable accordingly.
- // see #21
- // 'SIGPROF'
- )
- }
- if (process.platform === 'linux') {
- module.exports.push(
- 'SIGIO',
- 'SIGPOLL',
- 'SIGPWR',
- 'SIGSTKFLT',
- 'SIGUNUSED'
- )
- }
|