diff --git a/server/room_attacher.js b/server/room_attacher.js index bbd523eb267cb0768688b91e7929fe9dacf6ae6c..4881159e61fdb2391aeaef03e30ae82fe4280cec 100644 --- a/server/room_attacher.js +++ b/server/room_attacher.js @@ -87,8 +87,7 @@ async function handleAttachToRoom({ // Crash if attaching to room was not successful console.error(error); process.send({ eventName: "attachToError", data: error.toString() }); - await sleep(100); - process.exit(1); + await killMe(1); } } @@ -138,12 +137,23 @@ async function handleSendMessage({ content }) { } async function handleDetach() { - clearInterval(screenShotInterval); - clearInterval(gatherUserInfoInterval); - await roomPage.close(); + await killMe(0); +} + +async function killMe(exitCode) { + try { + clearInterval(screenShotInterval); + } catch (error) {} + try { + clearInterval(gatherUserInfoInterval); + } catch (error) {} + try { + await roomPage.close(); + } catch (error) {} try { await fs.promises.unlink(roomScreenShotPath); } catch (error) {} + process.send({ eventName: "detachSuccess", data: null }); await sleep(100); process.exit(0);