mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
af1a551965
Until now, the async_hooks PromiseHook did not register the Promise’s async id and trigger id on the id stack, so inside the `.then()` handler those ids would be invalid. To fix this, add push and pop calls to its `before` and `after` parts, respectively. Some care needs to be taken for the cases that the Promise hook is being disabled or enabled during the execution of a Promise handler; in the former case, actually removing the hook is delayed by adding another task to the microtask queue, in the latter case popping the id off the async id stack is skipped if the ids don’t match. Fixes: https://github.com/nodejs/node/issues/13583 PR-URL: https://github.com/nodejs/node/pull/13585 Reviewed-By: Trevor Norris <trevnorris@gmail.com> |
||
---|---|---|
.. | ||
async-hello-world | ||
async-hooks-promise | ||
async-resource | ||
at-exit | ||
buffer-free-callback | ||
heap-profiler | ||
hello-world | ||
hello-world-function-export | ||
load-long-path | ||
make-callback | ||
make-callback-recurse | ||
new-target | ||
node-module-version | ||
null-buffer-neuter | ||
openssl-binding | ||
parse-encoding | ||
repl-domain-abort | ||
stringbytes-external-exceed-max | ||
symlinked-module | ||
zlib-binding | ||
.gitignore | ||
testcfg.py |