glib::source

Function unix_fd_add_local

source
pub fn unix_fd_add_local<F>(
    fd: RawFd,
    condition: IOCondition,
    func: F,
) -> SourceId
where F: FnMut(RawFd, IOCondition) -> ControlFlow + 'static,
Available on Unix only.
Expand description

Adds a closure to be called by the main loop the returned Source is attached to whenever a UNIX file descriptor reaches the given IO condition.

func will be called repeatedly while the file descriptor matches the given IO condition 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_fd_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.