Function

GLibtimeout_add_full

Declaration

guint
g_timeout_add_full (
  gint priority,
  guint interval,
  GSourceFunc function,
  gpointer data,
  GDestroyNotify notify
)

Description

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 [memory management of sources][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 method 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 and G_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.

Return value

Type: guint

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