⚝
One Hat Cyber Team
⚝
Your IP:
172.22.0.1
Server IP:
151.80.20.34
Server:
Linux 794f04d97d5e 5.15.0-143-generic #153-Ubuntu SMP Fri Jun 13 19:10:45 UTC 2025 x86_64
Server Software:
Apache/2.4.62 (Debian)
PHP Version:
8.2.28
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
node_modules
/
webpack
/
lib
/
util
/
View File Name :
Semaphore.js
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; class Semaphore { /** * Creates an instance of Semaphore. * * @param {number} available the amount available number of "tasks" * in the Semaphore */ constructor(available) { this.available = available; /** @type {(function(): void)[]} */ this.waiters = []; /** @private */ this._continue = this._continue.bind(this); } /** * @param {function(): void} callback function block to capture and run * @returns {void} */ acquire(callback) { if (this.available > 0) { this.available--; callback(); } else { this.waiters.push(callback); } } release() { this.available++; if (this.waiters.length > 0) { process.nextTick(this._continue); } } _continue() { if (this.available > 0) { if (this.waiters.length > 0) { this.available--; const callback = this.waiters.pop(); callback(); } } } } module.exports = Semaphore;