char/avril

(wip) why'd you have to go and make things so complicaaaaated?

git clone https://git.t4t.associates/char/avril

Charlotte Somrearrange libs into lib and extensions into extsf4a0f5b

main
1.3 KiB40 linesraw
1//! Authorized subprocess launching, native I/O, and lifecycle supervision.
2//!
3//! `Launcher` checks live capabilities; `Process` drains output and reaps
4//! after descendant cleanup. `Scope` retains descendants across command exits
5//! until cancellation or drop, serializing launches and result publication.
6//!
7//! Hosts using retained scopes must dispatch `ANCHOR_ARG` to `anchor`.
8//! Processes that explicitly escape their process group are not contained.
9
10#[cfg(any(target_os = "linux", target_os = "macos"))]
11#[path = "unix.rs"]
12mod sys;
13#[cfg(windows)]
14#[path = "windows.rs"]
15mod sys;
16#[cfg(any(target_os = "linux", target_os = "macos", windows))]
17pub use sys::*;
18
19#[cfg(any(target_os = "linux", target_os = "macos", windows))]
20mod launch;
21#[cfg(any(target_os = "linux", target_os = "macos", windows))]
22mod managed;
23#[cfg(any(target_os = "linux", target_os = "macos", windows))]
24mod scope;
25#[cfg(any(target_os = "linux", target_os = "macos", windows))]
26pub use launch::{Launch, spawn};
27#[cfg(any(target_os = "linux", target_os = "macos", windows))]
28pub use managed::{
29    Input, Launcher, Options, Output, Process, Status, StdioSpec, TerminalSize, Termination,
30};
31#[cfg(any(target_os = "linux", target_os = "macos", windows))]
32pub use scope::Scope;
33
34#[cfg(unix)]
35pub mod signals;
36
37mod group;
38#[cfg(windows)]
39mod job;
40pub use group::{ANCHOR_ARG, Group, anchor};