1'use strict'; 2 3const { ObjectDefineProperty } = primordials; 4 5delete process._debugProcess; 6delete process._debugEnd; 7delete process._startProfilerIdleNotifier; 8delete process._stopProfilerIdleNotifier; 9 10function defineStream(name, getter) { 11 ObjectDefineProperty(process, name, { 12 configurable: true, 13 enumerable: true, 14 get: getter 15 }); 16} 17 18defineStream('stdout', getStdout); 19defineStream('stdin', getStdin); 20defineStream('stderr', getStderr); 21 22// Worker threads don't receive signals. 23const { 24 startListeningIfSignal, 25 stopListeningIfSignal 26} = require('internal/process/signal'); 27process.removeListener('newListener', startListeningIfSignal); 28process.removeListener('removeListener', stopListeningIfSignal); 29 30// ---- keep the attachment of the wrappers above so that it's easier to ---- 31// ---- compare the setups side-by-side ----- 32 33const { 34 createWorkerStdio 35} = require('internal/worker/io'); 36 37let workerStdio; 38function lazyWorkerStdio() { 39 if (!workerStdio) workerStdio = createWorkerStdio(); 40 return workerStdio; 41} 42 43function getStdout() { return lazyWorkerStdio().stdout; } 44 45function getStderr() { return lazyWorkerStdio().stderr; } 46 47function getStdin() { return lazyWorkerStdio().stdin; } 48