The standard library Io_Startup_And_Shutdown api defines tracking of open I/O streams, to close them cleanly at exit.
The Io_Startup_And_Shutdown api is implemented by the io_startup_and_shutdown package.
The Io_Startup_And_Shutdown api source code is in src/lib/std/src/io/io-startup-and-shutdown.api.
See also: Io_Startup_And_Shutdown__Premicrothread.
The above information is manually maintained and may contain errors.
api { Tag; std_stream_hook : Ref((Void -> Void) ); note_stream_startup_and_shutdown_actions : (Void -> Void) -> Tag; change_stream_startup_and_shutdown_actions : (Tag , (Void -> Void)) -> Void; drop_stream_startup_and_shutdown_actions : Tag -> Void; io_cleaner : (String , List(When ) , (When -> Void));};