glib::source

Function unix_signal_add_local_once

Source
pub fn unix_signal_add_local_once<F>(signum: i32, func: F) -> SourceId
where F: FnOnce() + 'static,
Available on Unix only.
Expand description

Adds a closure to be called by the default main loop whenever a UNIX signal is raised.

func will be called repeatedly every time signum is raised until it returns ControlFlow::Break.

The default main loop almost always is the main loop of the main thread. Thus, the closure is called on the main thread.

Different to unix_signal_add(), this does not require func to be Send but can only be called from the thread that owns the main context.

This function panics if called from a different thread than the one that owns the main context.

In comparison to unix_signal_add_local(), this only requires func to be FnOnce, and will automatically return ControlFlow::Break.