Function glib::source::unix_fd_add[][src]

pub fn unix_fd_add<F>(fd: RawFd, condition: IOCondition, func: F) -> SourceId where
    F: FnMut(RawFd, IOCondition) -> Continue + Send + 'static, 
This is supported 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 Continue(false).

The default main loop almost always is the main loop of the main thread. Thus the closure is called on the main thread. Sets a function to be called when the IO condition, as specified by condition becomes true for fd.

function will be called when the specified IO condition becomes true. The function is expected to clear whatever event caused the IO condition to become true and return true in order to be notified when it happens again. If function returns false then the watch will be cancelled.

The return value of this function can be passed to g_source_remove() to cancel the watch at any time that it exists.

The source will never close the fd – you must do it yourself.

fd

a file descriptor

condition

IO conditions to watch for on fd

function

a GUnixFDSourceFunc

Returns

the ID (greater than 0) of the event source