From 554a56913319c657e6c8e3f60d5ae60b1e7384fb Mon Sep 17 00:00:00 2001 From: purocean Date: Wed, 22 Jan 2025 19:44:13 +0800 Subject: [PATCH] fix: ensure proper cleanup of message listeners on stop --- src/main/server/watch-worker.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/server/watch-worker.ts b/src/main/server/watch-worker.ts index 8bcc2a91..fb355c6e 100644 --- a/src/main/server/watch-worker.ts +++ b/src/main/server/watch-worker.ts @@ -98,16 +98,18 @@ function init (id: number, filePath: string | string[], options: WatchOpts) { console.log(`watch process ${id} >`, filePath, 'stop') promiseQueue.length = 0 watcher.close() + process.off('message', onMessage) + process.off('exit', stop) } function onMessage (message: Message) { if (message.id === id && message.type === 'stop') { stop() - process.off('message', onMessage) } } process.on('message', onMessage) + process.on('exit', stop) } process.on('message', (message: Message) => {