/
nayvok
/
livecoding
Обзор
Документация
Войти
/
nayvok
/
livecoding
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
runner/src/executionGate.ts
22 строки
481 B
nayvok
fix: harden sessions and WebRTC recovery
17 июн 2026, 22:02
17 июн 2026, 22:02
37b9a92
Код
Авторство
О чём код?
export interface ExecutionGate { tryAcquire: () => (() => void) | null } export function createExecutionGate(limit: number): ExecutionGate { const normalizedLimit = Number.isSafeInteger(limit) && limit > 0 ? limit : 1 let active = 0 return { tryAcquire() { if (active >= normalizedLimit) return null active += 1 let released = false return () => { if (released) return released = true active -= 1 } }, } }