summaryrefslogtreecommitdiff
path: root/runtime/js/40_signals.js
diff options
context:
space:
mode:
authorKenta Moriuchi <moriken@kimamass.com>2023-04-15 05:23:28 +0900
committerGitHub <noreply@github.com>2023-04-14 22:23:28 +0200
commitf086ec57b453fc0af763564eb80fea4b5b7f7296 (patch)
tree8c7800d918751893e4011eb86f23e8f687d4139b /runtime/js/40_signals.js
parent136dce67cec749dce5989ea29e88359ef79a0045 (diff)
fix(core): Use safe primordials wrappers (#18687)
Diffstat (limited to 'runtime/js/40_signals.js')
-rw-r--r--runtime/js/40_signals.js7
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.