Skip to content

Commit 725f9c6

Browse files
committed
fix hanging when attempting to write to a closed pipe
1 parent 1958af8 commit 725f9c6

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

lib/stdio-wrapper.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ class StdioWrapper extends EventEmitter {
3939
this._pendingMessage = '';
4040
this._eventListeners = [
4141
addEventListener(pipeRead, 'data', buffer => this._dispatch(buffer)),
42-
addEventListener(pipeRead, 'close', () => this.emit('close')),
42+
addEventListener(pipeRead, 'close', () => {
43+
this._pipeWrite = null;
44+
this.emit('close');
45+
}),
4346
addEventListener(pipeRead, 'error', (err) => this.emit('error', err)),
4447
addEventListener(pipeWrite, 'error', (err) => this.emit('error', err)),
4548
];
@@ -48,6 +51,8 @@ class StdioWrapper extends EventEmitter {
4851

4952
send(message, callback) {
5053
try {
54+
if (!this._pipeWrite)
55+
throw new Error('CDP pipeWrite closed');
5156
this._pipeWrite.write(message);
5257
this._pipeWrite.write('\0');
5358
callback();

0 commit comments

Comments
 (0)