Initial commit
[yaffs-website] / node_modules / signal-exit / signals.js
1 // This is not the set of all possible signals.
2 //
3 // It IS, however, the set of all signals that trigger
4 // an exit on either Linux or BSD systems.  Linux is a
5 // superset of the signal names supported on BSD, and
6 // the unknown signals just fail to register, so we can
7 // catch that easily enough.
8 //
9 // Don't bother with SIGKILL.  It's uncatchable, which
10 // means that we can't fire any callbacks anyway.
11 //
12 // If a user does happen to register a handler on a non-
13 // fatal signal like SIGWINCH or something, and then
14 // exit, it'll end up firing `process.emit('exit')`, so
15 // the handler will be fired anyway.
16 //
17 // SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised
18 // artificially, inherently leave the process in a
19 // state from which it is not safe to try and enter JS
20 // listeners.
21 module.exports = [
22   'SIGABRT',
23   'SIGALRM',
24   'SIGHUP',
25   'SIGINT',
26   'SIGTERM'
27 ]
28
29 if (process.platform !== 'win32') {
30   module.exports.push(
31     'SIGVTALRM',
32     'SIGXCPU',
33     'SIGXFSZ',
34     'SIGUSR2',
35     'SIGTRAP',
36     'SIGSYS',
37     'SIGQUIT',
38     'SIGIOT'
39     // should detect profiler and enable/disable accordingly.
40     // see #21
41     // 'SIGPROF'
42   )
43 }
44
45 if (process.platform === 'linux') {
46   module.exports.push(
47     'SIGIO',
48     'SIGPOLL',
49     'SIGPWR',
50     'SIGSTKFLT',
51     'SIGUNUSED'
52   )
53 }