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;
|
||
|
};
|
||
|
}
|