diff --git a/server/package-lock.json b/server/package-lock.json index a70929e8e..6703f4a15 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/server", - "version": "0.138.4", + "version": "0.138.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@scrypted/server", - "version": "0.138.4", + "version": "0.138.5", "hasInstallScript": true, "license": "ISC", "dependencies": { diff --git a/server/src/plugin/plugin-host.ts b/server/src/plugin/plugin-host.ts index b31221b35..1f7532344 100644 --- a/server/src/plugin/plugin-host.ts +++ b/server/src/plugin/plugin-host.ts @@ -450,10 +450,6 @@ export class PluginHost { this.peer.kill('plugin disconnected'); }; - this.worker.on('close', () => { - logger.log('e', `${this.pluginName} close`); - disconnect(); - }); this.worker.on('exit', async (code, signal) => { logger.log('e', `${this.pluginName} exited ${code} ${signal}`); disconnect(); diff --git a/server/src/plugin/runtime/child-process-worker.ts b/server/src/plugin/runtime/child-process-worker.ts index 1ddcac1c6..e0bc68dc8 100644 --- a/server/src/plugin/runtime/child-process-worker.ts +++ b/server/src/plugin/runtime/child-process-worker.ts @@ -17,7 +17,7 @@ export abstract class ChildProcessWorker extends EventEmitter implements Runtime } setupWorker() { - this.worker.on('close', (code: number | null, signal: NodeJS.Signals | null) => this.emit('close', code, signal)); + this.worker.on('close', () => this.emit('error', new Error('close'))); this.worker.on('disconnect', () => this.emit('error', new Error('disconnect'))); this.worker.on('exit', (code, signal) => this.emit('exit', code, signal)); this.worker.on('error', e => this.emit('error', e)); diff --git a/server/src/plugin/runtime/runtime-worker.ts b/server/src/plugin/runtime/runtime-worker.ts index 6c0315b2c..bfe2635f2 100644 --- a/server/src/plugin/runtime/runtime-worker.ts +++ b/server/src/plugin/runtime/runtime-worker.ts @@ -23,15 +23,12 @@ export interface RuntimeWorker { on(event: 'error', listener: (err: Error) => void): this; on(event: 'exit', listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - on(event: 'close', listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; once(event: 'error', listener: (err: Error) => void): this; once(event: 'exit', listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - once(event: 'close', listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; removeListener(event: 'error', listener: (err: Error) => void): this; removeListener(event: 'exit', listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; - removeListener(event: 'close', listener: (code: number | null, signal: NodeJS.Signals | null) => void): this; send(message: RpcMessage, reject?: (e: Error) => void, serializationContext?: any): void; diff --git a/server/src/runtime.ts b/server/src/runtime.ts index bd7c56da8..5546a9488 100644 --- a/server/src/runtime.ts +++ b/server/src/runtime.ts @@ -691,7 +691,6 @@ export class ScryptedRuntime extends PluginHttp { if (pluginHost) { pluginHost.worker.once('error', restart); pluginHost.worker.once('exit', restart); - pluginHost.worker.once('close', restart); } else { restart();