diff --git a/src/QEMUVM.ts b/src/QEMUVM.ts index 6d36697..f68cf01 100644 --- a/src/QEMUVM.ts +++ b/src/QEMUVM.ts @@ -57,7 +57,7 @@ export default class QEMUVM extends EventEmitter { this.qmpClient = new QMPClient(this.qmpSock, this.qmpType); this.qmpClient.on('qmpshutdown', () => { console.log("[INFO] QEMU requested shutdown, restarting..."); - this.Restore(); + this.Resume(); }); this.qmpClient.on('connected', () => this.qmpConnected()); this.qmpClient.on('close', () => this.qmpClosed()); @@ -217,6 +217,15 @@ export default class QEMUVM extends EventEmitter { this.Start(); } + Resume() : Promise { + return new Promise(async (res, rej) => { + if (this.expectedExit) return; + await this.qmpClient.reboot(); + await this.qmpClient.execute({ "execute": "cont" }); + res(); + }); + } + Stop() : Promise { return new Promise(async (res, rej) => { if (this.expectedExit) {res(); return;}