Files
orca/src/main/ipc/runtime-watcher-pool-lifecycle.ts
T
mirror 34fa2cd5ca
Skill update round trip / roundtrip (false, macos-latest, copy, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (false, macos-latest, symlink, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (false, ubuntu-latest, copy, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (false, ubuntu-latest, symlink, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (false, ubuntu-latest, symlink, latest) (push) Canceled after 0s
Skill update round trip / roundtrip (false, windows-latest, copy, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (false, windows-latest, symlink, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (true, macos-latest, copy, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (true, macos-latest, symlink, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (true, ubuntu-latest, copy, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (true, ubuntu-latest, symlink, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (true, windows-latest, copy, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (true, windows-latest, symlink, 1.5.17) (push) Canceled after 0s
source snapshot 2026-09-02
2026-09-02 02:03:16 +08:00

42 lines
1004 B
TypeScript

import { WatcherProcessFailure } from './parcel-watcher-process-failure'
export class RuntimeWatcherPoolLifecycle {
readonly isolatedRoots = new Set<string>()
readonly failedQuarantineRoots = new Set<string>()
private disposed = false
assertActive(): void {
if (this.disposed) {
throw new WatcherProcessFailure(
'file watcher supervisor disposed',
'supervisor',
'supervisor_disposed'
)
}
}
isIsolated(root: string): boolean {
return this.isolatedRoots.has(root)
}
quarantineOrFuse(root: string, isolated: boolean): void {
// Why: one quarantine attempt is the recovery budget; a second failure is fused.
if (isolated) {
this.isolatedRoots.delete(root)
this.failedQuarantineRoots.add(root)
return
}
this.isolatedRoots.add(root)
}
dispose(): void {
this.disposed = true
this.isolatedRoots.clear()
this.failedQuarantineRoots.clear()
}
reset(): void {
this.disposed = false
}
}