fix: use etime-based sorting instead of PID ordering for process guards
Addresses Greptile review feedback: - ChromaSync: replace PID-based sort with ps etime column + parseElapsedTime() for reliable age ordering (PIDs wrap and don't guarantee ordering) - ProcessManager: filter out entries with unparseable etime (-1) before sorting to prevent sort corruption in cleanupExcessChromaProcesses()
This commit is contained in:
@@ -369,6 +369,8 @@ export async function cleanupExcessChromaProcesses(maxAllowed: number = 2): Prom
|
||||
if (!Number.isInteger(pid) || pid <= 0 || pid === process.pid) continue;
|
||||
|
||||
const ageMinutes = parseElapsedTime(etime);
|
||||
// Skip entries with unparseable etime (-1) to avoid sort corruption
|
||||
if (ageMinutes < 0) continue;
|
||||
processes.push({ pid, ageMinutes });
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user