From fe715333b5deafd18081aa02e1f4858eccdcc799 Mon Sep 17 00:00:00 2001 From: CanadaHonk Date: Sat, 28 Jan 2023 12:28:08 +0000 Subject: [PATCH] cdp: handle pipe write errors better --- src/lib/cdp.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/lib/cdp.js b/src/lib/cdp.js index 5e0fa49..4efea3f 100644 --- a/src/lib/cdp.js +++ b/src/lib/cdp.js @@ -118,14 +118,13 @@ export default async ({ pipe: { pipeWrite, pipeRead } = {}, port }) => { }); pipeRead.on('close', () => log('pipe read closed')); + pipeWrite.on('error', () => {}); // ignore write error, likely just closed _send = data => { - if (closed) return new Error('CDP connection closed'); + if (closed || !pipeWrite.writable) return new Error('CDP connection closed'); - try { - pipeWrite.write(data); - pipeWrite.write('\0'); - } catch { } // error writing, likely closed/closing (cannot check) + pipeWrite.write(data); + pipeWrite.write('\0'); }; _close = () => {};