mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-07 18:42:25 +00:00
fix(parallels): keep fresh malformed package locks
This commit is contained in:
@@ -248,7 +248,7 @@ async function removeStalePackageLock(lockDir: string, staleMs: number): Promise
|
||||
return;
|
||||
}
|
||||
const ageMs = Date.now() - ((await stat(lockDir).catch(() => undefined))?.mtimeMs ?? Date.now());
|
||||
if (owner || ageMs >= staleMs) {
|
||||
if (owner?.pid !== undefined || staleMs <= 0 || ageMs >= staleMs) {
|
||||
await rm(lockDir, { force: true, recursive: true }).catch(() => undefined);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -445,7 +445,7 @@ describe("Parallels smoke model selection", () => {
|
||||
expect(retained).toBe(`${"a".repeat(2)}${"b".repeat(10)}`);
|
||||
});
|
||||
|
||||
it("reclaims package locks with malformed owner pids", async () => {
|
||||
it("keeps fresh package locks with malformed owner pids", async () => {
|
||||
const lockDir = makeTempDir(tempDirs, "openclaw-parallels-package-lock-");
|
||||
mkdirSync(lockDir, { recursive: true });
|
||||
writeFileSync(join(lockDir, "owner.json"), '{"pid":-1,"token":"stale"}\n');
|
||||
@@ -457,6 +457,16 @@ describe("Parallels smoke model selection", () => {
|
||||
|
||||
await packageArtifactTesting.removeStalePackageLock(lockDir, 2 * 60 * 60_000);
|
||||
|
||||
expect(existsSync(lockDir)).toBe(true);
|
||||
});
|
||||
|
||||
it("reclaims stale package locks with malformed owner pids", async () => {
|
||||
const lockDir = makeTempDir(tempDirs, "openclaw-parallels-package-lock-");
|
||||
mkdirSync(lockDir, { recursive: true });
|
||||
writeFileSync(join(lockDir, "owner.json"), '{"pid":-1,"token":"stale"}\n');
|
||||
|
||||
await packageArtifactTesting.removeStalePackageLock(lockDir, 0);
|
||||
|
||||
expect(existsSync(lockDir)).toBe(false);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user