Files
airllm-fork-nodejs/node_modules/node-llama-cpp/dist/utils/waitForLockfileRelease.js
2026-02-05 15:27:49 +08:00

19 lines
889 B
JavaScript

import lockfile from "proper-lockfile";
import { isLockActive, waitForLockRelease } from "lifecycle-utils";
import { lockfileLockScope } from "./withLockfile.js";
export async function waitForLockfileRelease({ resourcePath, checkInterval = 1000 * 5.5, staleDuration = 1000 * 10 }) {
while (true) {
if (isLockActive([lockfileLockScope, resourcePath])) {
await waitForLockRelease([lockfileLockScope, resourcePath]);
continue;
}
const lockfileActive = await lockfile.check(resourcePath, { stale: staleDuration, realpath: false });
const lockIsActive = isLockActive([lockfileLockScope, resourcePath]);
if (lockIsActive)
continue;
if (!lockfileActive)
return;
await new Promise((resolve) => setTimeout(resolve, checkInterval));
}
}
//# sourceMappingURL=waitForLockfileRelease.js.map