1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| // 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'
| )
| }
|
|