mirror of
https://github.com/lucannez64/darling-lol.git
synced 2026-10-26 19:47:42 +00:00
fix(launchd): reap orphaned guest zombies and harden stale-client recovery
Children whose parent dies are reparented to the guest launchd, and its job manager only reaps PIDs it has a job record for, so every leftover mldr/CEF process from a killed client tree stayed a zombie until shutdown. Reap zombies that launchd owns but does not track on a 5 second timer; tracked jobs keep their exit status for job_reap(). proc_listpids() is not implemented in Darling yet, so the scan enumerates the guest PID namespace through /proc. recover-stale-client now signals the stale tree deepest-first so a live parent can still reap its own children, and prepare.py repairs interrupted checkouts and missing Git LFS objects instead of publishing pointer text as a library.
This commit is contained in:
1 parent
24276b91c6
commit
9291d6accd
5 files changed
+233
-20
No files matched your search
@@ -157,8 +157,11 @@ the normal launcher start the product again. It recognizes `LeagueClientUx`,
|
||||
`Riot Client` and `RiotClientServices` windows, does nothing while a game process
|
||||
is running or when a managed client window is visible, and fails closed when
|
||||
X11/Xwayland properties are missing or unreadable. This saves the Darling
|
||||
bootstrap but not the Riot Client/CEF startup itself. If no window appears
|
||||
afterward, use a full runtime shutdown/restart.
|
||||
bootstrap but not the Riot Client/CEF startup itself. The stale tree is signalled
|
||||
deepest-first so live parents can still reap their own children; anything that is
|
||||
left over is reparented to the guest launchd, which reaps untracked zombies
|
||||
within a few seconds, so a full runtime restart is not needed to clear them. If no
|
||||
window appears afterward, use a full runtime shutdown/restart.
|
||||
|
||||
### Multiple client-in-game helpers
|
||||
|
||||
|
||||
Reference in new issue
Block a user