fix: release instance lock on termination signals
Co-authored-by: Haze <hazeone@users.noreply.github.com>
This commit is contained in:
@@ -442,10 +442,19 @@ async function initialize(): Promise<void> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (gotTheLock) {
|
if (gotTheLock) {
|
||||||
|
const releaseProcessLockOnSignal = (signal: NodeJS.Signals): void => {
|
||||||
|
logger.info(`Received ${signal}; releasing instance lock and requesting app quit`);
|
||||||
|
releaseProcessInstanceFileLock();
|
||||||
|
app.quit();
|
||||||
|
};
|
||||||
|
|
||||||
process.on('exit', () => {
|
process.on('exit', () => {
|
||||||
releaseProcessInstanceFileLock();
|
releaseProcessInstanceFileLock();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
process.once('SIGINT', () => releaseProcessLockOnSignal('SIGINT'));
|
||||||
|
process.once('SIGTERM', () => releaseProcessLockOnSignal('SIGTERM'));
|
||||||
|
|
||||||
app.on('will-quit', () => {
|
app.on('will-quit', () => {
|
||||||
releaseProcessInstanceFileLock();
|
releaseProcessInstanceFileLock();
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user