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:
gint
The priority of the timeout source. Typically this will be in the range between
G_PRIORITY_DEFAULT
andG_PRIORITY_HIGH
. interval
-
Type:
guint
The time between calls to the function, in milliseconds (1/1000ths of a second).
function
-
Type:
GSourceFunc
Function to call.
data
-
Type:
gpointer
Data to pass to
function
.The argument can be NULL
.The data is owned by the caller of the function. notify
-
Type:
GDestroyNotify
Function to call when the timeout is removed, or
NULL
.The argument can be NULL
.