Launch I/O references outlive individual handles
This figure documents the historical i386 source baseline. Current native x86-64/AArch64 qualification is recorded separately; this is not an ELF64 or native SMP implementation diagram.
Closing the parent copy does not close the child copy; exit cleanup releases both ordinary and stdio handles.
Text equivalent and source references
- Creating a stream starts one reader and one writer reference. Assigning child stdio increments the selected endpoint references.
- Each close or task cleanup drops its own references. The last writer causes drain-then-EOF, the last reader causes broken pipe, and zero references on both sides clear the stream slot.
Ownership lifecycle. Source paths refer to the atlas baseline; the kernel checkout is private.
kernel/core/user_io.c · user_stream_create, user_io_assign, drop, user_io_cleanupkernel/core/task.c · task_finish