diff options
Diffstat (limited to 'runtime/js/40_signals.js')
-rw-r--r-- | runtime/js/40_signals.js | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/runtime/js/40_signals.js b/runtime/js/40_signals.js index 4ae310151..51d6bb349 100644 --- a/runtime/js/40_signals.js +++ b/runtime/js/40_signals.js @@ -4,8 +4,9 @@ const core = globalThis.Deno.core; const ops = core.ops; const primordials = globalThis.__bootstrap.primordials; const { + SafeSet, SafeSetIterator, - Set, + SetPrototypeAdd, SetPrototypeDelete, SymbolFor, TypeError, @@ -32,7 +33,7 @@ const signalData = {}; /** Gets the signal handlers and resource data of the given signal */ function getSignalData(signo) { return signalData[signo] ?? - (signalData[signo] = { rid: undefined, listeners: new Set() }); + (signalData[signo] = { rid: undefined, listeners: new SafeSet() }); } function checkSignalListenerType(listener) { @@ -47,7 +48,7 @@ function addSignalListener(signo, listener) { checkSignalListenerType(listener); const sigData = getSignalData(signo); - sigData.listeners.add(listener); + SetPrototypeAdd(sigData.listeners, listener); if (!sigData.rid) { // If signal resource doesn't exist, create it. |