mirror of
https://github.com/nodejs/node.git
synced 2025-05-04 23:42:17 +00:00

When there are at least 2 timers set by setInterval whose callback execution are longer than interval, the eventloop will be blocked. This commit fix the above bug. PR-URL: https://github.com/nodejs/node/pull/15072 Fixes: https://github.com/nodejs/node/issues/15068 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: James M Snell <jasnell@gmail.com>
23 lines
431 B
JavaScript
23 lines
431 B
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
const fs = require('fs');
|
|
|
|
const t1 = setInterval(() => {
|
|
common.busyLoop(12);
|
|
}, 10);
|
|
|
|
const t2 = setInterval(() => {
|
|
common.busyLoop(15);
|
|
}, 10);
|
|
|
|
const t3 = setTimeout(common.mustNotCall('eventloop blocked!'), 100);
|
|
|
|
setTimeout(function() {
|
|
fs.stat('./nonexistent.txt', (err, stats) => {
|
|
clearInterval(t1);
|
|
clearInterval(t2);
|
|
clearTimeout(t3);
|
|
});
|
|
}, 50);
|