since: 2.14


g_timeout_add_seconds (
  guint interval,
  GSourceFunc function,
  gpointer data


Sets a function to be called at regular intervals with the default priority, G_PRIORITY_DEFAULT.

The function is called repeatedly until it returns G_SOURCE_REMOVE or 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 g_get_monotonic_time().

Available since: 2.14

This function is not directly available to language bindings.

The implementation of this method is provided by g_timeout_add_seconds_full() in language bindings



Type: guint

The time between calls to the function, in seconds.


Type: GSourceFunc

Function to call.


Type: gpointer

Data to pass to function.

The argument can be NULL.
The data is owned by the caller of the function.

Return value

Type: guint

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