then re-insert. timers maintain their order and may trigger more
than once if they've waited more than one delay's worth of time.
*/
then re-insert. timers maintain their order and may trigger more
than once if they've waited more than one delay's worth of time.
*/
g_time_val_add(&curr->last, curr->delay);
if (curr->func(curr->data)) {
g_time_val_add(&curr->timeout, curr->delay);
g_time_val_add(&curr->last, curr->delay);
if (curr->func(curr->data)) {
g_time_val_add(&curr->timeout, curr->delay);