MCPcopy
hub / github.com/inkeep/open-knowledge / acquireServerLock

Function acquireServerLock

packages/server/src/server-lock.ts:20–39  ·  view source on GitHub ↗
(
  lockDir: string,
  init: {
    port: number;
    worktreeRoot: string;
    kind?: LockKind;
    parentPid?: number;
    capabilities?: string[];
  },
)

Source from the content-addressed store, hash-verified

18}
19
20export function acquireServerLock(
21 lockDir: string,
22 init: {
23 port: number;
24 worktreeRoot: string;
25 kind?: LockKind;
26 parentPid?: number;
27 capabilities?: string[];
28 },
29): string {
30 try {
31 const handle = acquireProcessLock({ lockName: 'server', lockDir, metadata: init });
32 return handle.lockPath;
33 } catch (err) {
34 if (err instanceof ProcessLockCollisionError && err.lockName === 'server') {
35 throw new ServerLockCollisionError(err.existing, err.lockPath);
36 }
37 throw err;
38 }
39}
40
41export function updateServerLockPort(lockDir: string, port: number): void {
42 updateProcessLockPort({ lockName: 'server', lockDir, port });

Callers 6

api-config.test.tsFile · 0.90
tryAgainFunction · 0.90
createServerFunction · 0.90
bindTestServerLockFunction · 0.90
ui.test.tsFile · 0.85

Calls 1

acquireProcessLockFunction · 0.90

Tested by 1

tryAgainFunction · 0.72