pub fn on() -> Self {
        // If there is a signal handler in progress, block.
        while SIGNAL_HANDLER_AT_WORK.load(Ordering::Acquire) {
            std::hint::spin_loop();
            std::thread::yield_now();
        }
        let _ = WRITE_IN_PROGRESS.fetch_add(1, Ordering::Release);
        Self
    }
Put the tin hat on, and only allow signals being processed once it's
dropped.
src/tinhat.rs