node/test/parallel/test-timers-clearImmediate.js
Brian White 42158a0313 timers: fix regression with clearImmediate()
This commit fixes a regression introduced in 0ed8839a27 that caused
additional queued immediate callbacks to be ignored if
`clearImmediate(immediate)` was called within the callback for
`immediate`.

PR-URL: https://github.com/nodejs/node/pull/9086
Fixes: https://github.com/nodejs/node/issues/9084
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
2016-10-14 15:57:25 -05:00

19 lines
364 B
JavaScript

'use strict';
require('../common');
const assert = require('assert');
const N = 3;
var count = 0;
function next() {
const immediate = setImmediate(function() {
clearImmediate(immediate);
++count;
});
}
for (var i = 0; i < N; ++i)
next();
process.on('exit', () => {
assert.strictEqual(count, N, `Expected ${N} immediate callback executions`);
});