g_time_val_add(&curr->last, curr->delay);
if (curr->func(curr->data)) {
g_time_val_add(&curr->timeout, curr->delay);
insert_timer(loop, curr);
g_time_val_add(&curr->last, curr->delay);
if (curr->func(curr->data)) {
g_time_val_add(&curr->timeout, curr->delay);
insert_timer(loop, curr);