forked from projectmoon/tenebrous-dicebot
54 lines
1.3 KiB
JavaScript
54 lines
1.3 KiB
JavaScript
|
// 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'
|
||
|
)
|
||
|
}
|