GeezerVison is showing github.com — lib: make WeakRef safe in abort_controller · nodejs/node@2b9a637
File tree
Expand file treeCollapse file tree
Open diff view settings
Expand file treeCollapse file tree
Open diff view settings
Collapse file
Copy file name to clipboardExpand all lines: lib/internal/abort_controller.js +4-4Lines changed: 4 additions & 4 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -10,9 +10,9 @@ const { |
10 | 10 | PromiseResolve, |
11 | 11 | SafeFinalizationRegistry, |
12 | 12 | SafeSet, |
| 13 | + SafeWeakRef, |
13 | 14 | Symbol, |
14 | 15 | SymbolToStringTag, |
15 | | - WeakRef, |
16 | 16 | } = primordials; |
17 | 17 |
|
18 | 18 | const { |
@@ -220,7 +220,7 @@ class AbortSignal extends EventTarget { |
220 | 220 | signal[kTimeout] = true; |
221 | 221 | clearTimeoutRegistry.register( |
222 | 222 | signal, |
223 | | - setWeakAbortSignalTimeout(new WeakRef(signal), delay)); |
| 223 | + setWeakAbortSignalTimeout(new SafeWeakRef(signal), delay)); |
224 | 224 | return signal; |
225 | 225 | } |
226 | 226 |
|
@@ -238,7 +238,7 @@ class AbortSignal extends EventTarget { |
238 | 238 | if (!signalsArray.length) { |
239 | 239 | return resultSignal; |
240 | 240 | } |
241 | | - const resultSignalWeakRef = new WeakRef(resultSignal); |
| 241 | + const resultSignalWeakRef = new SafeWeakRef(resultSignal); |
242 | 242 | resultSignal[kSourceSignals] = new SafeSet(); |
243 | 243 | for (let i = 0; i < signalsArray.length; i++) { |
244 | 244 | const signal = signalsArray[i]; |
@@ -248,7 +248,7 @@ class AbortSignal extends EventTarget { |
248 | 248 | } |
249 | 249 | signal[kDependantSignals] ??= new SafeSet(); |
250 | 250 | if (!signal[kComposite]) { |
251 | | - resultSignal[kSourceSignals].add(new WeakRef(signal)); |
| 251 | + resultSignal[kSourceSignals].add(new SafeWeakRef(signal)); |
252 | 252 | signal[kDependantSignals].add(resultSignalWeakRef); |
253 | 253 | } else if (!signal[kSourceSignals]) { |
254 | 254 | continue; |
|