0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-30 23:43:09 +01:00
nodejs/test/async-hooks/test-disable-in-init.js
Andreas Madsen f94fd0c0f3
async_hooks: fix nested hooks mutation
In some cases restoreTmpHooks is called too early, this causes
active_hooks_array to change during execution of the init hooks.

PR-URL: https://github.com/nodejs/node/pull/14143
Ref: https://github.com/nodejs/node/pull/14054#issuecomment-313915193
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2017-07-13 11:59:18 +02:00

24 lines
495 B
JavaScript

'use strict';
const common = require('../common');
const async_hooks = require('async_hooks');
const fs = require('fs');
let nestedCall = false;
async_hooks.createHook({
init: common.mustCall(function(id, type) {
nestedHook.disable();
if (!nestedCall) {
nestedCall = true;
fs.access(__filename, common.mustCall());
}
}, 2)
}).enable();
const nestedHook = async_hooks.createHook({
init: common.mustCall(2)
}).enable();
fs.access(__filename, common.mustCall());