MCPcopy Index your code
hub / github.com/getsentry/XcodeBuildMCP / tryRecoverExpiredLockDir

Function tryRecoverExpiredLockDir

src/utils/fs-lock.ts:100–126  ·  view source on GitHub ↗
(
  lockDir: string,
  purpose: string,
  now: number,
  leaseMs: number,
)

Source from the content-addressed store, hash-verified

98}
99
100async function tryRecoverExpiredLockDir(
101 lockDir: string,
102 purpose: string,
103 now: number,
104 leaseMs: number,
105): Promise<boolean> {
106 const recovery = await shouldRecoverLockDir(lockDir, purpose, now, leaseMs);
107 if (!recovery.recover) {
108 return false;
109 }
110
111 const quarantineDir = await quarantineLockDir(lockDir);
112 if (!quarantineDir) {
113 return false;
114 }
115
116 if (recovery.owner) {
117 const quarantinedOwner = await readLockOwner(quarantineDir);
118 if (!fsLockOwnersEqual(quarantinedOwner, recovery.owner)) {
119 await restoreQuarantinedLockDir(quarantineDir, lockDir);
120 return false;
121 }
122 }
123
124 await removeLockDir(quarantineDir);
125 return true;
126}
127
128async function createLock(lockDir: string, owner: FsLockOwner): Promise<AcquiredFsLock> {
129 await fs.mkdir(lockDir, { mode: 0o700 });

Callers 2

tryAcquireGuardFunction · 0.70
tryAcquireFsLockFunction · 0.70

Calls 6

fsLockOwnersEqualFunction · 0.90
quarantineLockDirFunction · 0.85
readLockOwnerFunction · 0.85
removeLockDirFunction · 0.85
shouldRecoverLockDirFunction · 0.70

Tested by

no test coverage detected