Skip to content

Commit f540130

Browse files
committed
fix: unsubscribe from signal handler in case of multiple quit() calls
1 parent 1218c41 commit f540130

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

src/browser/new-browser.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,13 @@ const headlessBrowserOptions: HeadlessBrowserOptions = {
5454
};
5555

5656
export class NewBrowser extends Browser {
57+
private _onExit: (err?: Error) => Promise<void> = async () => {};
58+
5759
constructor(config: Config, opts: BrowserOpts) {
5860
super(config, opts);
5961

60-
signalHandler.on("exit", (err?: Error) => this.quit(err));
62+
this._onExit = async (err?: Error): Promise<void> => await this.quit(err);
63+
signalHandler.on("exit", this._onExit);
6164
}
6265

6366
async init(): Promise<NewBrowser> {
@@ -76,6 +79,7 @@ export class NewBrowser extends Browser {
7679

7780
async quit(err?: Error): Promise<void> {
7881
this._exitError = err;
82+
signalHandler.off("exit", this._onExit);
7983

8084
try {
8185
this.setHttpTimeout(this._config.sessionQuitTimeout);

0 commit comments

Comments
 (0)