Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/wincloud_gateway/node_modules/redux-saga/es/internal/ drwxr-xr-x | |
| Viewing file: Select action/file-type: var queue = [];
/**
Variable to hold a counting semaphore
- Incrementing adds a lock and puts the scheduler in a `suspended` state (if it's not
already suspended)
- Decrementing releases a lock. Zero locks puts the scheduler in a `released` state. This
triggers flushing the queued tasks.
**/
var semaphore = 0;
/**
Executes a task 'atomically'. Tasks scheduled during this execution will be queued
and flushed after this task has finished (assuming the scheduler endup in a released
state).
**/
function exec(task) {
try {
suspend();
task();
} finally {
release();
}
}
/**
Executes or queues a task depending on the state of the scheduler (`suspended` or `released`)
**/
export function asap(task) {
queue.push(task);
if (!semaphore) {
suspend();
flush();
}
}
/**
Puts the scheduler in a `suspended` state. Scheduled tasks will be queued until the
scheduler is released.
**/
export function suspend() {
semaphore++;
}
/**
Puts the scheduler in a `released` state.
**/
function release() {
semaphore--;
}
/**
Releases the current lock. Executes all queued tasks if the scheduler is in the released state.
**/
export function flush() {
release();
var task = void 0;
while (!semaphore && (task = queue.shift()) !== undefined) {
exec(task);
}
} |
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0049 ]-- |