Function
GLibtimeout_add_full
Declaration [src]
guint
g_timeout_add_full (
gint priority,
guint interval,
GSourceFunc function,
gpointer data,
GDestroyNotify notify
)
Description [src]
Sets a function to be called at regular intervals, with the given
priority. 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. The notify function is
called when the timeout is destroyed. The first call to the
function will be at the end of the first interval.
Note that timeout functions may be delayed, due to the processing of other event sources. Thus they should not be relied on for precise timing. After each call to the timeout function, the time of the next timeout is recalculated based on the current time and the given interval (it does not try to ‘catch up’ time lost in delays).
See mainloop memory management for details
on how to handle the return value and memory management of data.
This internally creates a main loop source using
g_timeout_source_new() and attaches it to the global
GMainContext using g_source_attach(), so the callback
will be invoked in whichever thread is running that main context. You can do
these steps manually if you need greater control or to use a custom main context.
The interval given is in terms of monotonic time, not wall clock time.
See g_get_monotonic_time().
This function is renamed to g_timeout_add() in language bindings.
Parameters
priority-
Type:
gintThe priority of the timeout source. Typically this will be in the range between
G_PRIORITY_DEFAULTandG_PRIORITY_HIGH. interval-
Type:
guintThe time between calls to the function, in milliseconds (1/1000ths of a second).
function-
Type:
GSourceFuncFunction to call.
data-
Type:
gpointerData to pass to
function.The argument can be NULL.The data is owned by the caller of the function. notify-
Type:
GDestroyNotifyFunction to call when the timeout is removed, or
NULL.The argument can be NULL.