since: 2.36


g_source_set_ready_time (
  GSource* source,
  gint64 ready_time


Sets a GSource to be dispatched when the given monotonic time is reached (or passed). If the monotonic time is in the past (as it always will be if ready_time is 0) then the source will be dispatched immediately.

If ready_time is -1 then the source is never woken up on the basis of the passage of time.

Dispatching the source does not reset the ready time. You should do so yourself, from the source dispatch function.

Note that if you have a pair of sources where the ready time of one suggests that it will be delivered first but the priority for the other suggests that it would be delivered first, and the ready time for both sources is reached during the same main context iteration, then the order of dispatch is undefined.

It is a no-op to call this function on a GSource which has already been destroyed with g_source_destroy().

This API is only intended to be used by implementations of GSource. Do not call this API on a GSource that you did not create.

Available since: 2.36



Type: gint64

The monotonic time at which the source will be ready, 0 for “immediately”, -1 for “never”