From 545beb70ec9686284d16d8881c110f9a1317735e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5var=20Aamb=C3=B8=20Fosstveit?= Date: Wed, 18 Mar 2020 15:30:04 +0100 Subject: [PATCH] Make sure the interactive server can never crash server --- server/lib/interactiveServer.js | 53 ++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/server/lib/interactiveServer.js b/server/lib/interactiveServer.js index 6256d06..4ac2d84 100644 --- a/server/lib/interactiveServer.js +++ b/server/lib/interactiveServer.js @@ -663,32 +663,37 @@ function runMediasoupObserver() module.exports = async function(rooms, peers) { - // Run the mediasoup observer API. - runMediasoupObserver(); - - // Make maps global so they can be used during the REPL terminal. - global.rooms = rooms; - global.peers = peers; - global.workers = workers; - global.routers = routers; - global.transports = transports; - global.producers = producers; - global.consumers = consumers; - global.dataProducers = dataProducers; - global.dataConsumers = dataConsumers; - - const server = net.createServer((socket) => + try { - const interactive = new Interactive(socket); + // Run the mediasoup observer API. + runMediasoupObserver(); - interactive.openCommandConsole(); - }); + // Make maps global so they can be used during the REPL terminal. + global.rooms = rooms; + global.peers = peers; + global.workers = workers; + global.routers = routers; + global.transports = transports; + global.producers = producers; + global.consumers = consumers; + global.dataProducers = dataProducers; + global.dataConsumers = dataConsumers; - await new Promise((resolve) => - { - try { fs.unlinkSync(SOCKET_PATH); } - catch (error) {} + const server = net.createServer((socket) => + { + const interactive = new Interactive(socket); - server.listen(SOCKET_PATH, resolve); - }); + interactive.openCommandConsole(); + }); + + await new Promise((resolve) => + { + try { fs.unlinkSync(SOCKET_PATH); } + catch (error) {} + + server.listen(SOCKET_PATH, resolve); + }); + } + catch (error) + {} };