Function glib::source::timeout_add_seconds[][src]

pub fn timeout_add_seconds<F>(interval: u32, func: F) -> SourceId where
    F: FnMut() -> Continue + Send + 'static, 
Expand description

Adds a closure to be called by the default main loop at regular intervals with second granularity.

func will be called repeatedly every interval seconds until it returns Continue(false). Precise timing is not guaranteed, the timeout may be delayed by other events.

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 at regular intervals with the default priority, G_PRIORITY_DEFAULT. The function is called repeatedly until it returns false, at which point the timeout is automatically destroyed and the function will not be called again.

This internally creates a main loop source using g_timeout_source_new_seconds() and attaches it to the main loop context using g_source_attach(). You can do these steps manually if you need greater control. Also see g_timeout_add_seconds_full().

It is safe to call this function from any thread.

Note that the first call of the timer may not be precise for timeouts of one second. If you need finer precision and have such a timeout, you may want to use g_timeout_add() instead.

See [memory management of sources][mainloop-memory-management] for details on how to handle the return value and memory management of data.

The interval given is in terms of monotonic time, not wall clock time. See monotonic_time().

interval

the time between calls to the function, in seconds

function

function to call

Returns

the ID (greater than 0) of the event source.