GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — test: process.nextTick for before exit · nodejs/node@456fd75

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
  • test/parallel
    • test-process-beforeexit.js
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎test/parallel/test-process-beforeexit.js‎

Copy file name to clipboardExpand all lines: test/parallel/test-process-beforeexit.js
+12Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,24 @@ function tryListen() {
4949
// Test that a function invoked from the beforeExit handler can use a timer
5050
// to keep the event loop open, which can use another timer to keep the event
5151
// loop open, etc.
52+
//
53+
// After N times, call function `tryNextTick` to test behaviors of the
54+
// `process.nextTick`.
5255
function tryRepeatedTimer() {
5356
const N = 5;
5457
let n = 0;
5558
const repeatedTimer = common.mustCall(function() {
5659
if (++n < N)
5760
setTimeout(repeatedTimer, 1);
61+
else // n == N
62+
process.once('beforeExit', common.mustCall(tryNextTick));
5863
}, N);
5964
setTimeout(repeatedTimer, 1);
6065
}
66+
67+
// Test if the callback of `process.nextTick` can be invoked.
68+
function tryNextTick() {
69+
process.nextTick(common.mustCall(function() {
70+
process.once('beforeExit', common.mustNotCall());
71+
}));
72+
}

0 commit comments

Comments
0 (0)
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.