From 215566bcb6acbc698849d78b8a20eec62cb2fa59 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Thu, 9 Jul 2026 15:42:47 +0000 Subject: [PATCH] fix(server): parse pid start times in stable locale --- packages/server/src/server/pid-lock.test.ts | 3 +-- packages/server/src/server/pid-lock.ts | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/server/src/server/pid-lock.test.ts b/packages/server/src/server/pid-lock.test.ts index 9ded91868..587eb8bd9 100644 --- a/packages/server/src/server/pid-lock.test.ts +++ b/packages/server/src/server/pid-lock.test.ts @@ -1,4 +1,4 @@ -import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises"; +import { mkdtemp, rm, writeFile } from "node:fs/promises"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { describe, expect, test } from "vitest"; @@ -55,7 +55,6 @@ describe("pid-lock ownership", () => { const replacementOwnerPid = process.pid + 10_000; try { - await mkdir(paseoHome, { recursive: true }); await writeFile( join(paseoHome, "paseo.pid"), JSON.stringify({ diff --git a/packages/server/src/server/pid-lock.ts b/packages/server/src/server/pid-lock.ts index 5ae4a9067..843b61efb 100644 --- a/packages/server/src/server/pid-lock.ts +++ b/packages/server/src/server/pid-lock.ts @@ -37,6 +37,7 @@ export class PidLockError extends Error { const PROCESS_START_SKEW_TOLERANCE_MS = 60_000; const PROCESS_LOCK_ACQUIRE_TOLERANCE_MS = 5 * 60_000; +const POSIX_PROCESS_TIME_ENV = { ...process.env, LC_ALL: "C", LANG: "C" }; let cachedClockTicksPerSecond: number | null = null; function isPidRunning(pid: number): boolean { @@ -96,6 +97,7 @@ function readPsProcessStartedAtMs(pid: number): number | null { try { const output = execFileSync("ps", ["-p", String(pid), "-o", "lstart="], { encoding: "utf8", + env: POSIX_PROCESS_TIME_ENV, timeout: 1000, }).trim(); const parsed = Date.parse(output);