//! Keeps this crate's spawns out of socket creation where that takes two steps.
//!
//! Where the OS has no `SOCK_CLOEXEC`, as on macOS, the standard library
//! creates a socket and then marks it close-on-exec. A child spawned by
//! another thread between the two keeps the socket for its whole life, and a
//! listener it keeps goes on accepting after its owner closes it. Every spawn
//! in this crate holds [`spawning`], and listeners are created inside
//! [`without_spawns`].
use ;
static SPAWN: = new;
/// Hold while spawning a child.
pub
/// Run `create` while no spawn by this crate is under way. Linux creates the
/// socket close-on-exec in one step, so nothing is held there.
pub