| 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' |  |   ) |  | } | 
 |