pub struct ExitHandler { /* private fields */ }Implementations§
Source§impl ExitHandler
impl ExitHandler
Sourcepub fn listen() -> &'static Arc<ExitHandler>
pub fn listen() -> &'static Arc<ExitHandler>
Waits for SIGINT using [tokio::signal::ctrl_c], and exits the
process with exit code 0 after running any futures scheduled with
ExitHandler::on_exit.
As this uses global process signals, this must only be called once, and
will panic if called multiple times. Use this when you own the
process (e.g. turbopack-cli).
If you don’t own the process (e.g. you’re called as a library, such as
in next-swc), use [ExitHandler::new_trigger] instead.
This may listen for other signals, like SIGTERM or SIGPIPE in the
future.
Sourcepub fn new_receiver() -> (Arc<ExitHandler>, ExitReceiver)
pub fn new_receiver() -> (Arc<ExitHandler>, ExitReceiver)
Creates an ExitHandler that can be manually controlled with an
ExitReceiver.
This does not actually exit the process or listen for any signals. If
you’d like that behavior, use ExitHandler::listen.
Because this API has no global side-effects and can be called many times
within the same process, it is possible to use it to provide a mock
ExitHandler inside unit tests.