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