Teknium
92189e2d0a
fix: POSIX update pause drains turns first and survives a killed update cleanly
...
Review fixes for the pre-swap gateway pause (independent review of a029ec2):
- Every gateway is drained before the code swap: the control socket's
pause-for-update runs the request_restart drain (the post-update restart's
SIGUSR1 path) and the update waits within the fleet's canonical budget
(_gateway_drain_budget, 1905 s by default) with progress lines. systemd
units and launchd jobs are stopped through their supervisor only after
their drained gateway has exited, which also keeps Restart=/KeepAlive from
relaunching it mid-update. A gateway that does not take the drain gets the
supervisor stop / SIGTERM as before. The request is recorded (stop_sent)
before it is sent and carries no planned-stop marker: the marker watcher
takes the immediate signal-stop path and could fire first. Before: a
supervised gateway got systemctl stop / bootout at once
(restart_drain_timeout=0 cuts an in-flight turn), a bare one was SIGKILLed
after 70 s.
- The pause record stores canonical identities (pause_record.identity), so
recovery recognises a still-live gateway; the native birth stamp stays on
the entry for _alive.
- Supervised posix_units go through drop_never_stopped / split_draining /
backoff / hand-back like every other entry: a killed update no longer owes a
live unit it never stopped, nor relaunches one still draining.
- Unknown cgroup membership (either side unreadable) never authorises
stopping the unit; cgroup v1 name=systemd is read when v2 is absent.
- A record that cannot be written restores the token exactly (fresh or
adopted), so the checkout's tree gate is not armed by a pause that never
happened.
- A replayed bare gateway's environment follows the restart watcher it
replaces: the launch profile's own named home keeps the launcher env (an
exported bot token can be its only credential); every other home and the
multiplexing root get the served-profile factory.
- Resuming a paused unit runs the definition repair the fleet restart runs
first (_repair_unit_without_fatal_exit_park; launchd plist refresh).
- Shared POSIX tests use platforms("posix") instead of a module skipif, so
the macOS lane imports them.
e2e cell (e) now reads the recorded stop request (record stop_sent) instead of
the planned-stop marker, which the drain path no longer writes.
2026-10-07 04:39:00 -07:00
..
2026-10-06 10:11:33 -04:00
2026-10-06 18:00:58 -04:00
2026-10-06 04:36:02 -07:00
2026-10-06 18:00:58 -04:00
2026-10-06 23:14:10 +05:30
2026-09-29 07:44:13 +00:00
2026-10-04 00:10:54 +05:30
2026-10-06 17:22:46 -04:00
2026-09-29 15:45:52 +05:30
2026-10-06 14:22:13 -07:00
2026-10-06 12:28:55 -04:00
2026-10-05 16:37:14 -05:00
2026-10-01 22:17:57 +05:30
2026-09-29 18:47:44 -05:00
2026-09-27 18:19:17 +05:30
2026-10-02 01:18:03 +05:30
2026-09-29 07:44:13 +00:00
2026-10-03 22:32:14 -04:00
2026-10-06 04:36:02 -07:00
2026-10-07 02:29:54 -07:00
2026-10-01 01:50:16 -05:00
2026-10-06 16:08:23 -04:00
2026-10-06 16:07:56 -04:00
2026-10-02 18:35:45 -05:00
2026-10-01 13:23:12 -07:00
2026-09-28 14:16:18 -07:00
2026-10-01 13:23:12 -07:00
2026-10-04 12:55:11 -04:00
2026-09-28 14:16:18 -07:00
2026-09-29 14:40:47 -05:00
2026-09-28 14:16:18 -07:00
2026-10-02 22:47:50 -04:00
2026-09-28 14:16:18 -07:00
2026-10-05 00:23:05 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-29 20:57:23 -05:00
2026-10-02 13:34:54 +05:30
2026-09-30 23:05:43 -05:00
2026-09-28 14:18:10 +00:00
2026-10-03 16:29:54 +05:30
2026-09-28 14:16:18 -07:00
2026-09-28 03:34:07 -07:00
2026-09-28 12:33:01 -07:00
2026-10-06 14:22:13 -07:00
2026-09-29 20:24:19 -04:00
2026-09-29 20:24:19 -04:00
2026-10-06 04:36:02 -07:00
2026-09-28 04:04:23 -07:00
2026-09-28 21:02:39 -04:00
2026-10-06 23:54:51 -05:00
2026-10-04 11:57:03 +05:30
2026-10-01 09:44:06 -04:00
2026-09-28 05:28:05 -07:00
2026-09-28 05:28:05 -07:00
2026-10-06 02:53:00 -07:00
2026-10-02 02:54:18 +05:30
2026-10-06 11:17:11 -04:00
2026-10-06 11:10:45 -04:00
2026-10-05 12:51:22 -04:00
2026-10-06 11:14:34 -04:00
2026-10-05 12:23:21 -04:00
2026-10-06 11:14:42 -04:00
2026-10-06 11:17:11 -04:00
2026-10-03 16:54:59 +05:30
2026-09-28 04:44:29 -07:00
2026-10-06 03:44:49 -07:00
2026-10-03 21:15:17 +05:30
2026-10-05 20:07:25 +05:30
2026-10-06 06:22:28 -07:00
2026-09-28 18:44:52 -04:00
2026-09-28 18:44:52 -04:00
2026-10-06 06:22:27 -07:00
2026-09-29 19:43:22 -05:00
2026-09-27 11:44:31 -07:00
2026-10-06 05:44:21 -07:00
2026-09-27 22:04:26 -07:00
2026-09-26 21:57:37 -05:00
2026-09-28 12:43:03 -07:00
2026-10-05 16:37:14 -05:00
2026-10-05 16:37:14 -05:00
2026-09-29 12:16:43 -04:00
2026-09-28 06:42:00 -07:00
2026-10-07 10:20:18 +05:30
2026-09-28 13:30:57 -07:00
2026-10-06 06:22:29 -07:00
2026-10-05 16:41:00 -05:00
2026-09-28 03:13:19 -07:00
2026-10-04 17:51:24 -07:00
2026-10-06 15:00:21 -05:00
2026-10-06 03:44:49 -07:00
2026-09-28 04:04:23 -07:00
2026-09-28 04:04:23 -07:00
2026-09-28 13:30:57 -07:00
2026-09-28 13:30:57 -07:00
2026-10-03 16:26:38 +05:30
2026-09-27 03:37:09 -07:00
2026-09-27 11:48:22 -07:00
2026-09-28 13:30:57 -07:00
2026-10-05 16:37:28 -05:00
2026-09-28 04:04:23 -07:00
2026-09-28 12:18:58 -07:00
2026-09-26 21:44:50 -05:00
2026-09-28 13:30:57 -07:00
2026-10-06 04:36:02 -07:00
2026-10-04 17:18:50 -07:00
2026-10-03 20:44:07 +05:30
2026-09-29 18:09:20 -05:00
2026-10-01 22:17:57 +05:30
2026-10-06 06:22:27 -07:00
2026-10-02 20:51:34 +00:00
2026-09-27 15:27:43 -05:00
2026-09-28 14:16:18 -07:00
2026-10-03 22:46:14 -04:00
2026-09-30 12:01:29 -05:00
2026-10-01 04:50:26 -05:00
2026-10-04 12:55:51 -05:00
2026-10-02 22:58:26 -05:00
2026-10-05 23:33:41 -07:00
2026-10-06 14:23:00 -04:00
2026-10-01 22:03:11 -07:00
2026-10-02 22:21:27 -05:00
2026-10-02 22:21:27 -05:00
2026-10-07 11:19:10 +05:30
2026-09-28 03:37:09 -07:00
2026-09-28 03:37:09 -07:00
2026-09-28 03:37:09 -07:00
2026-10-03 16:31:23 +05:30
2026-10-04 13:50:13 -05:00
2026-09-28 03:37:09 -07:00
2026-10-06 15:15:06 -04:00
2026-10-07 11:19:10 +05:30
2026-10-02 00:54:45 +05:30
2026-09-29 15:58:55 +05:30
2026-10-04 00:08:20 -07:00
2026-09-28 12:24:52 -05:00
2026-09-27 07:46:31 -05:00
2026-09-29 18:41:02 -05:00
2026-09-29 12:55:46 -07:00
2026-10-03 02:25:26 -07:00
2026-10-03 22:32:13 -04:00
2026-10-06 16:07:55 -04:00
2026-10-06 16:08:23 -04:00
2026-09-29 18:49:58 -05:00
2026-10-03 22:53:47 -04:00
2026-09-27 22:41:00 -04:00
2026-10-06 16:08:22 -04:00
2026-10-06 16:07:55 -04:00
2026-09-28 12:36:05 -05:00
2026-09-28 21:02:39 -04:00
2026-10-06 16:07:56 -04:00
2026-09-28 12:28:04 -05:00
2026-10-06 20:11:00 -04:00
2026-10-03 22:32:13 -04:00
2026-10-03 23:06:58 -04:00
2026-10-03 02:25:26 -07:00
2026-10-06 16:07:56 -04:00
2026-09-28 14:16:18 -07:00
2026-10-06 03:44:49 -07:00
2026-09-28 02:00:41 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 11:10:43 -07:00
2026-10-06 14:22:13 -07:00
2026-10-05 16:06:32 -07:00
2026-10-05 16:55:53 -05:00
2026-10-05 22:38:27 -05:00
2026-10-06 14:57:23 -05:00
2026-10-06 14:57:23 -05:00
2026-10-06 14:57:23 -05:00
2026-10-02 13:34:54 +05:30
2026-10-06 17:23:23 -04:00
2026-10-03 22:32:13 -04:00
2026-10-05 12:21:38 -05:00
2026-10-05 14:02:38 -05:00
2026-10-05 12:10:01 -05:00
2026-10-06 12:28:00 -04:00
2026-09-29 20:24:19 -04:00
2026-10-06 12:27:41 -04:00
2026-09-27 18:31:33 -05:00
2026-09-29 15:58:55 +05:30
2026-10-02 22:40:31 -05:00
2026-10-02 20:24:37 -05:00
2026-10-06 13:23:15 -04:00
2026-10-06 13:23:15 -04:00
2026-09-27 22:04:26 -07:00
2026-10-05 16:41:47 -05:00
2026-10-05 16:41:47 -05:00
2026-10-01 16:22:28 +05:30
2026-09-29 16:47:48 +05:30
2026-10-06 06:22:29 -07:00
2026-09-28 19:49:00 -04:00
2026-10-05 10:20:42 -05:00
2026-10-05 17:24:40 -07:00
2026-10-05 17:24:40 -07:00
2026-09-27 17:06:55 -07:00
2026-10-01 10:46:45 -07:00
2026-10-05 16:06:32 -07:00
2026-10-03 10:15:11 -07:00
2026-10-03 21:40:42 -04:00
2026-10-06 17:22:18 -04:00
2026-10-05 17:11:30 -07:00
2026-09-28 14:16:18 -07:00
2026-10-04 17:53:20 -07:00
2026-10-05 09:37:36 -04:00
2026-10-05 15:38:19 -07:00
2026-10-05 08:52:28 -04:00
2026-09-27 06:26:52 -05:00
2026-10-03 16:53:54 +05:30
2026-10-05 00:22:31 -07:00
2026-10-05 00:22:31 -07:00
2026-09-27 06:26:52 -05:00
2026-09-28 14:16:18 -07:00
2026-09-28 04:44:29 -07:00
2026-10-05 16:41:08 -05:00
2026-09-26 22:19:53 -05:00
2026-10-04 00:08:20 -07:00
2026-10-04 13:53:34 +05:30
2026-10-03 16:29:29 +05:30
2026-09-28 04:04:23 -07:00
2026-09-28 04:04:23 -07:00
2026-09-29 15:58:55 +05:30
2026-10-02 01:29:41 -07:00
2026-09-30 22:24:00 -05:00
2026-10-07 11:27:35 +05:30
2026-10-05 23:33:41 -07:00
2026-10-06 23:14:10 +05:30
2026-10-05 16:42:57 -05:00
2026-10-06 21:43:55 -07:00
2026-10-06 10:11:33 -04:00
2026-09-29 02:40:55 +05:30
2026-10-05 22:07:41 -07:00
2026-10-05 22:07:41 -07:00
2026-09-27 03:41:42 -07:00
2026-10-03 19:51:54 +05:30
2026-10-06 03:44:49 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 03:13:19 -07:00
2026-10-06 14:22:13 -07:00
2026-10-05 23:33:41 -07:00
2026-09-28 03:34:07 -07:00
2026-10-03 23:28:02 +05:30
2026-09-29 22:57:48 -04:00
2026-10-05 12:37:47 +05:30
2026-09-29 19:06:35 -05:00
2026-09-29 19:06:35 -05:00
2026-09-28 13:30:57 -07:00
2026-09-28 14:16:18 -07:00
2026-09-27 19:06:26 -05:00
2026-09-29 04:15:21 +05:30
2026-09-29 18:05:05 -05:00
2026-10-03 16:30:15 +05:30
2026-10-03 16:32:10 +05:30
2026-10-03 16:32:10 +05:30
2026-10-03 16:36:00 +05:30
2026-10-01 01:43:56 -05:00
2026-10-05 19:36:32 +05:30
2026-09-29 20:57:57 -05:00
2026-10-06 11:10:43 -07:00
2026-09-28 12:33:01 -07:00
2026-09-28 03:08:56 -07:00
2026-09-28 03:08:56 -07:00
2026-10-05 22:07:41 -07:00
2026-10-05 22:07:41 -07:00
2026-09-28 12:43:03 -07:00
2026-10-05 22:07:41 -07:00
2026-10-05 22:07:41 -07:00
2026-10-06 11:10:43 -07:00
2026-10-06 11:10:43 -07:00
2026-10-03 10:26:12 -07:00
2026-10-05 22:07:41 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 12:43:03 -07:00
2026-10-06 11:10:43 -07:00
2026-09-29 15:58:55 +05:30
2026-09-29 15:58:55 +05:30
2026-09-29 15:58:55 +05:30
2026-10-05 15:36:14 -07:00
2026-10-05 10:20:42 -05:00
2026-09-28 04:44:29 -07:00
2026-09-29 18:33:44 +05:30
2026-09-30 10:32:09 -05:00
2026-10-04 02:54:56 +05:30
2026-10-06 11:10:43 -07:00
2026-10-06 11:10:43 -07:00
2026-09-28 12:43:03 -07:00
2026-10-03 16:30:59 +05:30
2026-10-06 03:44:49 -07:00
2026-10-06 06:18:39 -07:00
2026-09-28 21:02:35 -04:00
2026-10-06 04:36:02 -07:00
2026-10-06 06:20:31 -07:00
2026-10-06 06:20:30 -07:00
2026-09-28 06:06:17 -07:00
2026-09-29 15:28:19 -05:00
2026-10-01 22:03:11 -07:00
2026-10-01 22:27:03 -07:00
2026-09-28 18:43:12 +05:30
2026-10-02 21:43:17 -05:00
2026-10-06 22:01:38 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 03:08:56 -07:00
2026-09-28 14:16:18 -07:00
2026-09-27 23:53:40 -07:00
2026-10-04 00:08:20 -07:00
2026-10-03 19:01:42 -07:00
2026-10-03 02:25:26 -07:00
2026-09-28 05:33:25 -07:00
2026-10-06 06:22:29 -07:00
2026-10-06 06:21:58 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 06:22:28 -07:00
2026-09-27 01:00:31 -07:00
2026-09-28 05:33:25 -07:00
2026-10-06 06:22:29 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 06:21:09 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 04:36:02 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 06:21:58 -07:00
2026-09-27 14:09:15 -05:00
2026-10-06 03:44:49 -07:00
2026-10-06 06:22:29 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 06:22:29 -07:00
2026-10-06 06:22:29 -07:00
2026-10-06 04:36:02 -07:00
2026-10-06 04:36:02 -07:00
2026-10-06 04:36:02 -07:00
2026-10-06 06:22:28 -07:00
2026-10-06 04:36:02 -07:00
2026-10-06 04:36:02 -07:00
2026-09-28 06:42:00 -07:00
2026-09-28 01:53:35 +05:30
2026-09-28 01:53:35 +05:30
2026-09-28 05:33:25 -07:00
2026-10-06 01:06:29 -07:00
2026-10-06 06:18:39 -07:00
2026-10-06 06:38:56 -07:00
2026-10-06 06:18:39 -07:00
2026-10-06 06:18:39 -07:00
2026-10-06 16:36:33 -07:00
2026-10-06 06:18:39 -07:00
2026-10-06 06:18:39 -07:00
2026-10-06 06:18:39 -07:00
2026-10-06 06:18:39 -07:00
2026-10-06 06:18:39 -07:00
2026-10-06 06:18:39 -07:00
2026-10-06 06:18:39 -07:00
2026-09-27 02:54:03 -07:00
2026-10-07 04:39:00 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 06:18:39 -07:00
2026-10-06 06:21:58 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 04:36:02 -07:00
2026-10-06 06:22:29 -07:00
2026-10-06 06:20:32 -07:00
2026-09-28 04:44:29 -07:00
2026-09-27 14:09:15 -05:00
2026-10-05 01:30:17 -07:00
2026-09-28 02:00:41 -07:00
2026-09-28 01:52:54 -07:00
2026-10-06 03:44:49 -07:00
2026-10-06 06:22:27 -07:00
2026-10-06 06:18:39 -07:00
2026-09-27 02:57:28 -07:00
2026-10-06 06:22:28 -07:00
2026-10-06 06:22:29 -07:00
2026-10-06 06:22:28 -07:00
2026-10-06 06:22:29 -07:00
2026-09-29 20:57:57 -05:00
2026-09-27 18:31:33 -05:00
2026-09-27 03:38:52 -07:00
2026-09-28 04:44:29 -07:00
2026-10-06 04:36:02 -07:00
2026-09-27 15:08:15 -05:00
2026-10-06 02:53:56 -07:00
2026-09-27 06:54:56 -05:00
2026-10-06 12:59:08 -05:00
2026-10-01 23:27:08 -07:00
2026-09-28 12:18:58 -07:00
2026-10-06 11:19:16 -04:00
2026-09-28 12:18:58 -07:00
2026-09-30 23:14:09 -05:00
2026-10-06 14:51:20 -04:00
2026-10-06 05:17:45 -07:00
2026-10-06 11:15:27 -04:00
2026-10-06 11:15:20 -04:00
2026-10-06 12:27:22 -04:00
2026-10-06 12:30:01 -04:00
2026-10-03 12:08:23 -04:00
2026-10-06 17:22:39 -04:00
2026-09-28 13:30:57 -07:00
2026-09-28 16:23:22 +05:30
2026-10-06 12:28:06 -04:00
2026-10-03 23:40:33 -07:00
2026-10-06 21:52:50 -05:00
2026-09-28 04:59:38 -07:00
2026-10-06 12:27:29 -04:00
2026-10-01 01:50:07 -05:00
2026-09-27 20:49:04 +05:30
2026-10-06 12:03:11 -04:00
2026-10-06 12:00:47 -04:00
2026-10-02 22:34:58 -05:00
2026-09-30 15:16:40 -05:00
2026-10-06 03:44:49 -07:00
2026-10-03 19:51:54 +05:30
2026-10-06 23:13:01 -07:00
2026-09-27 22:04:26 -07:00
2026-09-28 12:18:58 -07:00
2026-10-02 02:54:18 +05:30
2026-10-06 06:18:39 -07:00
2026-10-06 06:18:39 -07:00
2026-10-06 06:18:39 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 16:23:22 +05:30
2026-10-02 00:54:45 +05:30