async fn suspend(&self) -> Option<(Receiver<()>, Sender<()>)> {
        let (stopped_tx, stopped_rx) = oneshot::channel();
        let (resume_tx, resume_rx) = oneshot::channel();

        self.0
            .send(DiagnosticMessage::Suspend(stopped_tx, resume_rx))
            .await
            .ok()?; // if the channel is closed, we can't suspend

        Some((stopped_rx, resume_tx))
    }
suspends the terminal output and returns a pair of channels

the first one signifies to the diagnostic when it is safe to render
and the second one is used by the diagnostic to notify the renderer
when it is done
crates/turborepo-lib/src/diagnostics.rs