Skip to content

Commit

Permalink
Bind worker event handlers correctly to prevent multiple prints
Browse files Browse the repository at this point in the history
  • Loading branch information
gingershaped committed Jan 16, 2024
1 parent 139fd00 commit ef9f9bd
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/latest/scripts/runner.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ export class VyRunner extends EventTarget {

private spawnWorker() {
console.log("Spawning new worker");
this.workerCounter += 1;
return new Promise<Worker>((resolve) => {
const worker = new Worker(
/* webpackChunkName: "worker" */
Expand All @@ -74,6 +75,7 @@ export class VyRunner extends EventTarget {
const listener = (event: MessageEvent<WorkerMessage>) => {
if (event.data.type == "ready") {
resolve(worker);
worker.addEventListener("message", this.onWorkerMessage.bind(this));
worker.removeEventListener("message", listener);
console.log("Worker is ready");
}
Expand Down Expand Up @@ -122,10 +124,8 @@ export class VyRunner extends EventTarget {
if (this._state == "running") {
throw new Error("Attempted to start while running");
}
this.workerCounter += 1;
this.terminal?.clear();
this.outputBuffer.length = 0;
worker.addEventListener("message", this.onWorkerMessage.bind(this));
worker.postMessage({
code: code,
flags: flags,
Expand Down

0 comments on commit ef9f9bd

Please sign in to comment.