Repository navigation
Commit 8602dbb
committed
lib: capture no stack for default abort reason
The default AbortError created by AbortController.prototype.abort()
and AbortSignal.abort() captures a stack that V8 keeps unformatted.
Until it is formatted, V8 holds on to the call sites, which retain the
receivers and functions of the calling frames. A signal that outlives
the work it cancelled can then keep that work alive, including large
buffers.
Create the default reason with Error.stackTraceLimit set to 0, so no
call sites are captured. This also makes abort() without a reason
faster, as the stack is no longer collected. Callers that want a stack
can pass their own reason. Reasons passed by the caller are left
untouched.
Signed-off-by: Kuldeep Yadav <kuldeeep.yadav1@gmail.com>1 parent e7d8ab5 commit 8602dbb
2 files changed
Lines changed: 67 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
| |||
216 | 217 | | |
217 | 218 | | |
218 | 219 | | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
219 | 237 | | |
220 | 238 | | |
221 | 239 | | |
| |||
293 | 311 | | |
294 | 312 | | |
295 | 313 | | |
296 | | - | |
297 | | - | |
| 314 | + | |
298 | 315 | | |
299 | 316 | | |
300 | 317 | | |
| |||
576 | 593 | | |
577 | 594 | | |
578 | 595 | | |
579 | | - | |
| 596 | + | |
580 | 597 | | |
581 | 598 | | |
582 | 599 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
0 commit comments