diff --git a/app/modules/prover/lib/blockProver.ts b/app/modules/prover/lib/blockProver.ts index 32d5699ecc014e8ec690c6b5b98722d43b864a6a..87a666758707516985bb96bdf6cac2d504582145 100644 --- a/app/modules/prover/lib/blockProver.ts +++ b/app/modules/prover/lib/blockProver.ts @@ -67,8 +67,8 @@ export class WorkerFarm { /** * Eventually stops the engine PoW if one was computing */ - stopPoW() { - this.stopPromise = querablep(this.theEngine.cancel()) + async stopPoW() { + this.stopPromise = querablep(Promise.resolve(this.theEngine.cancel())) return this.stopPromise; } @@ -133,10 +133,10 @@ export class BlockProver { if (this.workerFarmPromise) { let farm = await this.getWorker(); if (farm.isComputing() && !farm.isStopping()) { - await farm.stopPoW() + Promise.resolve(farm.stopPoW()) } else { // We force the stop anyway, just to be sure - await farm.stopPoW() + Promise.resolve(farm.stopPoW()) } if (this.waitResolve) { this.waitResolve(); diff --git a/app/modules/prover/lib/engine.ts b/app/modules/prover/lib/engine.ts index 0f42ec11ea6b866fe929f0d690232134fd4cea97..eaf2e6b2d0f9b2f12e3252768676736da77e76f7 100644 --- a/app/modules/prover/lib/engine.ts +++ b/app/modules/prover/lib/engine.ts @@ -33,11 +33,11 @@ export class PowEngine { } async prove(stuff:any) { - this.cluster.cancelWork() + Promise.all([this.cluster.cancelWork()]) return await this.cluster.proveByWorkers(stuff) } - cancel() { + async cancel() { return this.cluster.cancelWork() }