Mitsuhiro Kotake
44ab72674e
Close MCP stderr readers on client teardown ( #43870 )
...
## Why
A descendant outside an MCP server's process group can keep stderr open after the server exits, leaving the reader task and its file descriptor alive.
## What changed
Signal the local stderr reader during explicit shutdown and when the process handle is dropped. Allow up to 250 ms to drain queued diagnostics before closing the reader, even if stderr never reaches EOF.
## Testing
Add a Unix regression test covering explicit shutdown and client drop with a descendant that keeps stderr open. Verify that file descriptor counts return to baseline while the descendant remains alive and that queued diagnostics are logged.
GitOrigin-RevId: 1b544e8dba2b5616db6739d075e7232564c92884
2026-09-08 17:42:14 +00:00
..
2026-07-29 13:53:15 +00:00
2026-09-05 18:06:26 +00:00
2026-08-24 22:40:35 +00:00
2026-09-07 23:38:35 +00:00
2026-07-29 13:53:15 +00:00
2026-09-08 16:24:38 +00:00
2026-09-07 19:34:23 +00:00
2026-09-07 19:51:53 +00:00
2026-09-08 16:24:38 +00:00
2026-07-30 19:47:30 +00:00
2026-09-03 06:02:25 +00:00
2026-09-07 00:00:23 +00:00
2026-08-20 08:10:08 +00:00
2026-08-31 13:44:12 +00:00
2026-08-31 13:44:12 +00:00
2026-09-03 23:20:54 +00:00
2026-08-24 21:39:48 +00:00
2026-09-02 21:50:51 +00:00
2026-09-07 16:55:06 +00:00
2026-08-14 05:03:39 +00:00
2026-08-17 22:37:14 +00:00
2026-09-07 19:11:41 +00:00
2026-09-02 20:07:11 +00:00
2026-09-03 01:46:37 +00:00
2026-08-28 19:44:50 +00:00
2026-08-29 02:52:58 +00:00
2026-09-01 17:17:45 +00:00
2026-09-01 01:00:50 +00:00
2026-09-01 01:00:50 +00:00
2026-09-07 09:24:03 +00:00
2026-08-18 23:47:00 +00:00
2026-08-13 23:13:37 +00:00
2026-08-25 21:20:51 +00:00
2026-09-07 17:26:10 +00:00
2026-09-05 01:25:06 +00:00
2026-09-08 14:23:23 +00:00
2026-08-31 21:27:51 +00:00
2026-09-02 01:06:18 +00:00
2026-09-04 23:56:25 +00:00
2026-09-08 16:24:38 +00:00
2026-09-03 23:20:54 +00:00
2026-09-02 18:34:27 +00:00
2026-08-07 11:30:17 +00:00
2026-09-05 12:17:32 +00:00
2026-09-07 17:09:04 +00:00
2026-09-07 16:55:06 +00:00
2026-09-07 16:55:06 +00:00
2026-08-17 04:37:50 +00:00
2026-09-08 12:58:11 +00:00
2026-09-02 15:07:11 +00:00
2026-09-05 21:56:43 +00:00
2026-09-04 18:02:08 +00:00
2026-07-31 21:37:56 +00:00
2026-08-27 20:44:47 +00:00
2026-09-06 20:52:29 +00:00
2026-09-08 12:17:28 +00:00
2026-09-07 13:58:57 +00:00
2026-09-05 12:08:18 +00:00
2026-09-05 13:02:49 +00:00
2026-09-01 15:12:53 +00:00
2026-08-26 23:41:18 +00:00
2026-09-07 17:26:10 +00:00
2026-09-08 14:23:23 +00:00
2026-09-03 21:21:09 +00:00
2026-09-03 21:21:09 +00:00
2026-09-07 22:11:52 +00:00
2026-09-08 16:38:25 +00:00
2026-09-04 12:08:02 +00:00
2026-07-30 04:26:36 +00:00
2026-09-04 23:06:00 +00:00
2026-09-01 17:17:45 +00:00
2026-09-05 12:08:18 +00:00
2026-08-25 15:50:19 +00:00
2026-09-08 16:24:38 +00:00
2026-09-07 20:25:30 +00:00
2026-08-26 17:45:42 +00:00
2026-08-21 16:45:05 +00:00
2026-09-08 17:42:14 +00:00
2026-09-08 16:24:38 +00:00
2026-08-28 01:14:02 +00:00
2026-09-04 20:09:04 +00:00
2026-08-10 15:43:10 +00:00
2026-09-01 18:24:56 +00:00
2026-08-08 16:58:26 +00:00
2026-09-05 05:21:42 +00:00
2026-09-08 16:24:38 +00:00
2026-09-02 18:34:27 +00:00
2026-09-08 04:35:21 +00:00
2026-09-08 16:24:38 +00:00
2026-09-02 02:09:35 +00:00
2026-09-08 16:15:24 +00:00
2026-09-02 18:42:06 +00:00
2026-09-08 00:13:28 +00:00
2026-09-08 16:24:38 +00:00
2026-09-08 04:55:29 +00:00
2026-09-03 20:01:07 +00:00
2026-09-04 19:40:01 +00:00
2026-09-02 22:19:51 +00:00
2026-08-15 14:31:04 +00:00
2026-09-04 01:56:38 +00:00
2026-09-08 17:42:14 +00:00
2026-09-07 18:52:37 +00:00
2026-07-29 13:53:15 +00:00
2026-09-04 05:07:02 +00:00