Skip to content

Commit

Permalink
lib: add constant kMaxCallbacksUntilQueueIsShortened
Browse files Browse the repository at this point in the history
Currently the maximum number of tick is duplicated in two places. This
commit introduces a constant that both can use.

PR-URL: #11199
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
  • Loading branch information
danbev authored and jasnell committed Mar 7, 2017
1 parent 4e9c36a commit e918edb
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions lib/internal/process/next_tick.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
'use strict';

// This value is used to prevent the nextTickQueue from becoming too
// large and cause the process to run out of memory. When this value
// is reached the nextTimeQueue array will be shortend (see tickDone
// for details).
const kMaxCallbacksUntilQueueIsShortened = 1e4;

exports.setup = setupNextTick;

function setupNextTick() {
Expand Down Expand Up @@ -96,7 +102,7 @@ function setupNextTick() {
// callback invocation with small numbers of arguments to avoid the
// performance hit associated with using `fn.apply()`
_combinedTickCallback(args, callback);
if (1e4 < tickInfo[kIndex])
if (kMaxCallbacksUntilQueueIsShortened < tickInfo[kIndex])
tickDone();
}
tickDone();
Expand All @@ -120,7 +126,7 @@ function setupNextTick() {
// callback invocation with small numbers of arguments to avoid the
// performance hit associated with using `fn.apply()`
_combinedTickCallback(args, callback);
if (1e4 < tickInfo[kIndex])
if (kMaxCallbacksUntilQueueIsShortened < tickInfo[kIndex])
tickDone();
if (domain)
domain.exit();
Expand Down

0 comments on commit e918edb

Please sign in to comment.