From 49f363b52122c92146ce1cdaade6543dd5c7ab45 Mon Sep 17 00:00:00 2001 From: leynos Date: Sun, 26 Jul 2026 16:47:07 +0200 Subject: [PATCH] docs: mark #125 FD-ownership hazard resolved in roadmap 8.1 Section 8.1 previously presented issues #124 and #125 as a single outstanding pump FD close-race work item. The #125 panic-unwind FD ownership hazard is now fixed in code and regression-tested: with_borrowed_reader wraps the borrowed reader in ManuallyDrop so a caller-owned reader FD stays open on success and panic-unwind, and rust/cuprum-rust/src/lib_tests.rs asserts the borrowed FD survives both normal and panicking operations. Split the section so 8.1.1 scopes the still-outstanding shutdown close-race work to #124, and record #125 as resolved. Co-Authored-By: Claude Fable 5 --- docs/roadmap.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/roadmap.md b/docs/roadmap.md index a125025f..568edee8 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -445,11 +445,19 @@ rather than gating the acceleration work. This step removes a silent failure the baseline observed on the shipped pump path. See tee-hotpath-profiling-baseline-2026-06-12.md ยง"Incidental findings" -item 1, adr-002-additional-rust-components.md (FD ownership risk), and issues -`#124` / `#125`. +item 1, adr-002-additional-rust-components.md (FD ownership risk), and issue +`#124`. + +The panic-unwind FD ownership hazard tracked under `#125` is **resolved**. +`with_borrowed_reader` now wraps the borrowed reader in `ManuallyDrop`, so a +caller-owned reader FD stays open on both success and panic-unwind; +`pump_stream` and `consume_stream` route through the helper, and +`rust/cuprum-rust/src/lib_tests.rs` regression-tests that the borrowed FD +survives both normal and panicking operations. - [ ] 8.1.1. Fix the silent `OSError: [Errno 9] Bad file descriptor` raised from - `_UnixWritePipeTransport._call_connection_lost` during Rust pump shutdown. + `_UnixWritePipeTransport._call_connection_lost` during Rust pump shutdown + (`#124`). - Success: the `echo-devnull-nocb-s4-rust` scenario logs no bad-FD errors across repeated runs, FD ownership at pump teardown is documented, and a regression test reproduces the close race and asserts clean shutdown.