Léo
6cda92080c
fix(browser): stop treating a missing cmdline as proof the daemon exited
...
_terminate_owned_daemon() read /proc/<pid>/cmdline and, on FileNotFoundError,
unlinked the pid file on the stated assumption that "the daemon may have
exited". Off Linux that file is always missing, so the branch always fired:
the pid file of a live daemon was deleted and the daemon itself never killed.
_owned_daemon_exists() swallowed the same error and therefore always returned
False, which is precisely the state its own docstring warns about, since a
close against an unrecognised session can bootstrap a fresh daemon and wait on
its browser indefinitely.
Demonstrated on macOS before the change: a pid file holding a live pid is
removed by _terminate_owned_daemon() and _owned_daemon_exists() reports False.
After it, the file survives and the daemon is reported present.
_process_command_line() now returns None for "this host cannot tell" and
_process_is_alive() answers the separate question of whether the pid exists.
Without procfs we decline to kill a process we cannot confirm is ours, and we
only forget a pid file once the pid is genuinely gone. Linux behaviour is
unchanged: the command-line identity check still gates both paths.
2026-09-29 16:27:22 +02:00
..
2026-09-29 16:27:22 +02:00
2026-08-16 23:25:46 +01:00
2026-06-04 18:57:24 +02:00
2026-09-17 10:07:40 +00:00
2026-09-11 06:04:19 +00:00
2026-09-19 00:08:57 +00:00
2026-09-22 23:26:16 +01:00
2026-09-11 06:04:19 +00:00
2026-09-17 10:07:40 +00:00
2026-09-21 06:54:03 +00:00
2026-06-23 23:28:53 +02:00
2026-06-23 16:12:32 +02:00
2026-07-11 15:14:14 +01:00
2026-05-31 23:58:26 +09:00
2026-07-11 15:14:14 +01:00
2026-08-15 20:27:26 +01:00
2026-09-11 06:04:19 +00:00
2026-06-19 00:28:22 -07:00
2026-08-15 06:14:37 +00:00
2026-09-17 10:07:40 +00:00
2026-09-11 06:04:19 +00:00
2026-07-11 13:03:24 +01:00
2026-07-11 13:03:24 +01:00
2026-09-11 06:04:19 +00:00
2026-09-21 06:54:03 +00:00
2026-09-17 10:07:40 +00:00
2026-09-22 13:12:19 +01:00
2026-06-01 22:22:41 +09:00
2026-09-22 11:31:45 +01:00
2026-06-03 14:14:27 +09:00
2026-09-11 06:04:19 +00:00
2026-07-11 17:06:19 +01:00
2026-09-23 12:53:06 +01:00
2026-09-11 06:04:19 +00:00
2026-09-11 06:04:19 +00:00
2026-06-27 13:05:44 +00:00
2026-07-08 23:57:23 +02:00
2026-05-31 23:58:26 +09:00
2026-09-17 10:07:40 +00:00
2026-07-01 10:11:22 +00:00
2026-09-17 10:07:40 +00:00
2026-09-17 10:07:40 +00:00
2026-06-03 14:06:31 +09:00
2026-06-09 10:40:17 +02:00
2026-09-21 06:54:03 +00:00
2026-09-17 10:07:40 +00:00
2026-09-17 10:07:40 +00:00
2026-06-24 16:50:07 +02:00
2026-09-11 06:04:19 +00:00
2026-09-11 06:04:19 +00:00
2026-09-22 13:12:19 +01:00
2026-06-08 09:58:52 +02:00
2026-09-11 06:04:19 +00:00
2026-09-17 10:07:40 +00:00
2026-06-06 03:37:10 -06:00
2026-06-30 19:54:51 +02:00
2026-07-23 14:49:02 +00:00
2026-07-23 14:18:08 +02:00
2026-08-15 05:37:47 +00:00
2026-08-14 10:47:47 +01:00
2026-09-22 13:12:19 +01:00
2026-06-10 15:15:13 +09:00
2026-09-11 06:04:19 +00:00
2026-08-15 23:09:01 -06:00
2026-09-11 06:04:19 +00:00
2026-08-06 02:33:50 -06:00
2026-06-06 03:17:19 -06:00
2026-08-06 02:33:50 -06:00
2026-07-18 09:40:58 +01:00
2026-09-17 10:07:40 +00:00
2026-06-27 16:25:15 +01:00
2026-09-11 06:04:19 +00:00
2026-09-17 10:07:40 +00:00
2026-09-17 10:07:40 +00:00
2026-06-15 15:16:41 +09:00
2026-09-11 06:04:19 +00:00
2026-08-15 20:27:26 +01:00
2026-09-11 06:04:19 +00:00
2026-09-11 06:04:19 +00:00
2026-06-01 18:27:17 +09:00
2026-09-11 06:04:19 +00:00
2026-09-11 06:04:19 +00:00
2026-08-15 01:58:32 +00:00
2026-07-03 15:07:16 +01:00
2026-06-15 17:44:10 +01:00
2026-07-23 14:18:08 +02:00
2026-05-31 23:58:26 +09:00
2026-09-11 06:04:19 +00:00
2026-09-11 06:04:19 +00:00
2026-09-22 13:12:19 +01:00
2026-09-11 06:04:19 +00:00
2026-09-11 06:04:19 +00:00
2026-09-17 10:07:40 +00:00
2026-06-15 17:44:10 +01:00
2026-09-17 20:53:01 +00:00
2026-09-17 22:00:44 +00:00
2026-06-08 09:58:52 +02:00
2026-06-09 16:00:24 +01:00
2026-06-09 01:06:20 +01:00
2026-07-23 14:49:02 +00:00
2026-09-11 06:04:19 +00:00
2026-06-11 12:53:33 +02:00
2026-09-11 06:04:19 +00:00
2026-09-11 06:04:19 +00:00
2026-07-05 13:19:04 +01:00
2026-09-17 10:07:40 +00:00
2026-09-17 10:07:40 +00:00
2026-09-11 06:04:19 +00:00
2026-06-27 10:12:28 -07:00
2026-06-04 13:18:50 +01:00
2026-08-19 08:01:34 -06:00
2026-09-11 06:04:19 +00:00
2026-09-17 10:07:40 +00:00
2026-09-21 06:54:03 +00:00
2026-06-28 14:07:23 +00:00
2026-09-17 10:07:40 +00:00
2026-09-18 13:29:54 +00:00
2026-09-11 06:04:19 +00:00
2026-09-21 06:54:03 +00:00
2026-09-21 06:54:03 +00:00
2026-09-11 06:04:19 +00:00
2026-09-11 06:04:19 +00:00
2026-07-11 15:14:14 +01:00
2026-06-02 20:44:27 +09:00
2026-09-22 23:26:16 +01:00
2026-09-11 06:04:19 +00:00
2026-09-11 06:04:19 +00:00
2026-09-23 15:32:04 +01:00
2026-06-03 22:47:00 +09:00
2026-09-11 06:04:19 +00:00
2026-09-11 06:04:19 +00:00
2026-09-11 06:04:19 +00:00
2026-07-04 17:03:38 +01:00
2026-09-11 06:04:19 +00:00
2026-06-15 15:03:41 +09:00