| 'use strict'; | |
| // Flags: --expose_gc | |
| // This test ensures that userland-only AsyncResources cause a destroy event to | |
| // be emitted when they get gced. | |
| const common = require('../common'); | |
| const async_hooks = require('async_hooks'); | |
| const hook = async_hooks.createHook({ | |
| destroy: common.mustCallAtLeast(2) // 1 immediate + manual destroy | |
| }).enable(); | |
| { | |
| const res = new async_hooks.AsyncResource('foobar'); | |
| res.emitDestroy(); | |
| } | |
| setImmediate(() => { | |
| global.gc(); | |
| setImmediate(() => { | |
| hook.disable(); | |
| }); | |
| }); |