summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/util/Semaphore.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2026-05-18 23:10:59 +0800
committerlittleblack111 <littleblack11111@gmail.com>2026-05-18 23:41:44 +0800
commitfc87c009806dcc98867f6b58efe29b042aa01dee (patch)
tree8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/webpack/lib/util/Semaphore.js
parent3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff)
node: updatemain
Diffstat (limited to 'node_modules/webpack/lib/util/Semaphore.js')
-rw-r--r--node_modules/webpack/lib/util/Semaphore.js51
1 files changed, 0 insertions, 51 deletions
diff --git a/node_modules/webpack/lib/util/Semaphore.js b/node_modules/webpack/lib/util/Semaphore.js
deleted file mode 100644
index 5277fedb..00000000
--- a/node_modules/webpack/lib/util/Semaphore.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- 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 && this.waiters.length > 0) {
- this.available--;
- const callback = /** @type {(function(): void)} */ (this.waiters.pop());
- callback();
- }
- }
-}
-
-module.exports = Semaphore;