From e5dde626e6efe81e76979e25521b4c58f3d588c3 Mon Sep 17 00:00:00 2001
From: Michele Alberti <michele.alberti@cea.fr>
Date: Tue, 26 May 2020 19:36:49 +0200
Subject: [PATCH] [ivette/server] Use map for signals, and fix the todo.

---
 ivette/src/frama-c/server.ts | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/ivette/src/frama-c/server.ts b/ivette/src/frama-c/server.ts
index 357becad041..4744cd01e28 100644
--- a/ivette/src/frama-c/server.ts
+++ b/ivette/src/frama-c/server.ts
@@ -668,12 +668,12 @@ class Signal {
 
 // --- Memo
 
-const signals: { [id: string]: Signal } = {};
+const signals: Map<string, Signal> = new Map();
 function _signal(id: any) {
-  let s = signals[id];
+  let s = signals.get(id);
   if (!s) {
-    signals[id] = new Signal(id);
-    s = signals[id];
+    s = new Signal(id);
+    signals.set(id, s);
   }
   return s;
 }
@@ -719,15 +719,15 @@ export function useSignal(id: string, callback: any) {
 // --- Server Synchro
 
 Dome.on(READY, () => {
-  _.forEach(signals, (signal: Signal) => {
+  signals.forEach((signal: Signal) => {
     signal.sigon();
   });
 });
 
 Dome.on(SHUTDOWN, () => {
-  _.forEach(signals, (signal: Signal) => {
+  signals.forEach((signal: Signal) => {
     signal.unplug();
-    // TODO: signal.sigoff.cancel();
+    (signal.sigoff as unknown as _.Cancelable).cancel();
   });
 });
 
-- 
GitLab