diff --git a/doc/api/child_process.md b/doc/api/child_process.md index a2945ad7647716..bbd998a0a91a2f 100644 --- a/doc/api/child_process.md +++ b/doc/api/child_process.md @@ -1018,6 +1018,10 @@ See [Advanced Serialization][] for more details. ### subprocess.channel * {Object} A pipe representing the IPC channel to the child process. @@ -1025,6 +1029,22 @@ added: v7.1.0 The `subprocess.channel` property is a reference to the child's IPC channel. If no IPC channel currently exists, this property is `undefined`. +### subprocess.channel.ref() + + +This method makes the IPC channel keep the event loop of the parent process +running if `.unref()` has been called before. + +### subprocess.channel.unref() + + +This method makes the IPC channel not keep the event loop of the parent process +running, and lets it finish even while the channel is open. + ### subprocess.connected * {Object} @@ -633,6 +637,30 @@ If the Node.js process was spawned with an IPC channel (see the property is a reference to the IPC channel. If no IPC channel exists, this property is `undefined`. +### process.channel.ref() + + +This method makes the IPC channel keep the event loop of the process +running if `.unref()` has been called before. + +Typically, this is managed through the number of `'disconnect'` and `'message'` +listeners on the `process` object. However, this method can be used to +explicitly request a specific behavior. + +### process.channel.unref() + + +This method makes the IPC channel not keep the event loop of the process +running, and lets it finish even while the channel is open. + +Typically, this is managed through the number of `'disconnect'` and `'message'` +listeners on the `process` object. However, this method can be used to +explicitly request a specific behavior. + ## process.chdir(directory)