23 lines
		
	
	
		
			758 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			23 lines
		
	
	
		
			758 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | // workaround for tty output truncation on Node.js
 | ||
|  | try { | ||
|  |     // prevent buffer overflow and other asynchronous bugs
 | ||
|  |     process.stdout._handle.setBlocking(true); | ||
|  |     process.stderr._handle.setBlocking(true); | ||
|  | } catch (e) { | ||
|  |     // ensure output buffers are flushed before process termination
 | ||
|  |     var exit = process.exit; | ||
|  |     process.exit = function() { | ||
|  |         var args = [].slice.call(arguments); | ||
|  |         process.once("uncaughtException", function() { | ||
|  |             (function callback() { | ||
|  |                 if (process.stdout.bufferSize || process.stderr.bufferSize) { | ||
|  |                     setTimeout(callback, 1); | ||
|  |                 } else { | ||
|  |                     exit.apply(process, args); | ||
|  |                 } | ||
|  |             })(); | ||
|  |         }); | ||
|  |         throw exit; | ||
|  |     }; | ||
|  | } |