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