fix(process): list refreshes no longer leave exited children running
Carve the direct-child list reconciliation from Indigo Karasu's earliest PR #60506 (2a96ae2cbf806ccdc3e9b584911774f32622f421), corroborated by fangliquanflq's narrow #81385 (50ffd243d92627e4a03a3ee8427ad0f5e090c3ab). Run the existing helper after task/session filtering and reuse the idempotent owner-stamped completion path. Do not import cross-session disclosure, bare-PID healing, forget RPCs, or reader rewrites. A real-child regression fails before this change and passes after it: the direct child exits while its descendant keeps writing to stdout; listing reports exit without consuming the result or waiting for EOF. Co-authored-by: fangliquanflq <fangliquan@qq.com> Co-authored-by: Teknium <127238744+teknium1@users.noreply.github.com>
This commit is contained in:
@@ -1950,6 +1950,9 @@ class ProcessRegistry(ProcessCheckpointMixin):
|
||||
]
|
||||
result = []
|
||||
for s in all_sessions:
|
||||
# List-only refreshes must observe child exit even while descendants
|
||||
# keep the capture pipe open; retain the existing completion owner.
|
||||
self._reconcile_local_exit(s)
|
||||
entry = {
|
||||
"session_id": s.id,
|
||||
"command": s.command[:200],
|
||||
|
||||
Reference in New Issue
Block a user