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.
53 lines
1.3 KiB
53 lines
1.3 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. |
|
// |
|
// 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' |
|
) |
|
}
|
|
|