garrytan and capy-ai[bot]
3f6ebca2a5
fix(lease): second /ship review pass
...
- orphaned() reads the clock before the lock's mtime and requires the mtime
unchanged at the end, so a lock made meanwhile is never removed; an mtime
a minute or more ahead (clock skew) counts as old.
- Claims older than 2 minutes are abandoned and pruned by touch.
- A waiter skips the claim and mkdir while the lock is visibly held; the
wait is bounded at 300 tries or 30 s; a non-numeric tries value falls back
to 300; ten quick retries (not three) before a lock nobody holds is
reported as untakeable; pid 1 is a valid holder again.
- Tests: deterministic young-lock clock, skew and non-numeric owner shapes,
abandoned claims, the deadline, explicit 30 s timeouts.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-26 01:06:47 +00:00
..
2026-10-08 16:17:18 +00:00
2026-06-09 22:29:23 -07:00
2026-10-04 07:58:41 -07:00
2026-10-20 00:24:28 +00:00
2026-10-20 23:55:41 +00:00
2026-10-20 00:24:28 +00:00
2026-10-07 23:29:05 +00:00
2026-09-21 12:27:25 -04:00
2026-10-20 23:55:41 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-10 23:26:08 +00:00
2026-10-07 23:29:05 +00:00
2026-10-07 23:29:05 +00:00
2026-10-25 16:09:15 +00:00
2026-10-17 21:17:39 +00:00
2026-10-17 21:17:39 +00:00
2026-10-20 00:24:28 +00:00
2026-10-25 01:00:05 +00:00
2026-10-17 02:40:45 +00:00
2026-10-17 01:52:40 +00:00
2026-10-04 07:58:41 -07:00
2026-10-16 22:00:32 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-16 22:00:32 +00:00
2026-10-20 00:24:28 +00:00
2026-10-11 00:32:15 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-07 23:29:05 +00:00
2026-10-04 07:58:41 -07:00
2026-10-19 23:31:59 +00:00
2026-10-20 00:24:28 +00:00
2026-10-03 07:54:09 -07:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-03 16:13:45 -07:00
2026-10-20 01:06:17 +00:00
2026-10-25 22:31:08 +00:00
2026-10-20 00:24:28 +00:00
2026-08-31 08:55:30 -07:00
2026-10-20 00:24:28 +00:00
2026-10-25 12:39:53 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-22 20:10:23 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 23:55:41 +00:00
2026-10-20 00:24:28 +00:00
2026-10-06 23:42:19 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-16 22:00:32 +00:00
2026-06-25 09:42:45 -07:00
2026-10-24 23:55:21 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-05-21 21:21:07 -07:00
2026-10-04 07:58:41 -07:00
2026-10-20 00:24:28 +00:00
2026-10-25 05:06:30 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-04-24 01:38:21 -07:00
2026-10-25 16:35:45 +00:00
2026-10-25 11:48:39 +00:00
2026-10-20 00:24:28 +00:00
2026-10-14 17:36:39 +00:00
2026-10-20 00:24:28 +00:00
2026-10-08 20:05:06 +00:00
2026-10-11 16:48:11 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-04 07:58:41 -07:00
2026-10-20 00:24:28 +00:00
2026-10-08 15:43:32 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-26 01:06:47 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-17 00:41:41 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 23:55:41 +00:00
2026-10-11 16:48:11 +00:00
2026-10-03 07:54:09 -07:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 23:55:41 +00:00
2026-10-07 23:29:05 +00:00
2026-10-25 10:50:18 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-02 11:11:00 -07:00
2026-10-19 23:31:59 +00:00
2026-10-20 00:24:28 +00:00
2026-10-01 11:57:48 -07:00
2026-10-20 00:24:28 +00:00
2026-10-04 07:58:41 -07:00
2026-10-25 10:37:48 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-01 13:55:16 -07:00
2026-10-16 22:00:32 +00:00
2026-10-04 07:58:41 -07:00
2026-10-10 23:26:08 +00:00
2026-10-25 22:45:05 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-17 03:32:16 +00:00
2026-10-25 16:22:14 +00:00
2026-10-07 23:29:05 +00:00
2026-10-25 10:37:48 +00:00
2026-10-20 00:24:28 +00:00
2026-10-01 11:57:48 -07:00
2026-10-20 00:24:28 +00:00
2026-10-25 21:21:10 +00:00
2026-10-20 00:24:28 +00:00
2026-10-01 11:57:48 -07:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-20 00:24:28 +00:00
2026-10-08 20:05:06 +00:00
2026-10-17 03:32:16 +00:00
2026-10-17 00:06:43 +00:00
2026-10-01 11:57:48 -07:00
2026-10-25 02:04:24 +00:00
2026-10-20 00:24:28 +00:00
2026-10-11 16:48:11 +00:00