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.