Fix restarting server in dev

Wait for the server process to exit before starting a new one, so that
the server debugger port is free when the new process begins.
This commit is contained in:
Jarrod Davis
2019-05-15 02:28:41 -06:00
parent ab939b8cb5
commit 6add2518aa

View File

@@ -267,14 +267,7 @@ class Watcher extends EventEmitter {
});
};
if (this.proc) {
this.proc.removeListener('exit', emitFatal);
this.proc.kill();
this.proc.on('exit', restart);
} else {
restart();
}
const start_server = () => {
// we need to give the child process its own DevTools port,
// otherwise Node will try to use the parent's (and fail)
const debugArgRegex = /--inspect(?:-brk|-port)?|--debug-port/;
@@ -309,6 +302,19 @@ class Watcher extends EventEmitter {
});
this.proc.on('exit', emitFatal);
};
if (this.proc) {
this.proc.removeListener('exit', emitFatal);
this.proc.kill();
this.proc.on('exit', () => {
start_server();
restart();
});
} else {
start_server();
restart();
}
});
}
});