aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Stendahl <jakobste@uio.no>2021-10-21 19:42:16 +0200
committerJakob Stendahl <jakobste@uio.no>2021-10-21 19:42:16 +0200
commit7366ae92038e94e74472cb21a02b24124b72dd93 (patch)
tree344ed9dee4dd0467dc38e7bac01e42d342ff5a04
parent1cba96c40a79ae5bed0754f25f55f4b089289857 (diff)
downloadLuxcena-Neo-7366ae92038e94e74472cb21a02b24124b72dd93.tar.gz
Luxcena-Neo-7366ae92038e94e74472cb21a02b24124b72dd93.zip
:bug: Fix potential memory leak
-rw-r--r--src/NeoRuntimeManager/index.js15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/NeoRuntimeManager/index.js b/src/NeoRuntimeManager/index.js
index 7fc117a..a178bf1 100644
--- a/src/NeoRuntimeManager/index.js
+++ b/src/NeoRuntimeManager/index.js
@@ -30,7 +30,7 @@ let modeDebuggerActive = false;
/** @type {string} Should be the modeId the debugger is attached to */
let modeDebuggerId = null;
/** @type {object} Handler for proc:start when debugger is active */
-let modeDebuggerProcStartHandler;
+let modeDebuggerProcStartHandler = null;
/** @type {object} The last received matrix setup */
let matrix = null;
@@ -254,11 +254,13 @@ function startDebugger(debuggerModeId) {
if (modeDebuggerActive) { return {success: false, reason: "debugger already active"}; }
logger.info(`Starting debugger for ${debuggerModeId}`);
- modeDebuggerProcStartHandler = eventEmitter.on("proc:start", () => {
- setTimeout(() => {
- ipc.sendCommand(IPC.COMMAND.SET_SEND_STRIP_BUF, true);
- }, 500);
- });
+ if (modeDebuggerProcStartHandler == null) {
+ modeDebuggerProcStartHandler = eventEmitter.on("proc:start", () => {
+ setTimeout(() => {
+ ipc.sendCommand(IPC.COMMAND.SET_SEND_STRIP_BUF, true);
+ }, 500);
+ });
+ }
modeDebuggerActive = true;
modeDebuggerId = debuggerModeId;
@@ -290,6 +292,7 @@ function stopDebugger() {
logger.info(`Stopping debugger`);
modeDebuggerActive = false;
eventEmitter.removeAllListeners("proc:start", modeDebuggerProcStartHandler);
+ modeDebuggerProcStartHandler = null;
ipc.sendCommand(IPC.COMMAND.SET_SEND_STRIP_BUF, false);
return {success: true}
}