+void
+evtimer_again (struct ev_timer *w)
+{
+ if (ev_is_active (w))
+ {
+ if (w->repeat)
+ {
+ w->at = now + w->repeat;
+ downheap ((WT *)timers, timercnt, w->active - 1);
+ }
+ else
+ evtimer_stop (w);
+ }
+ else if (w->repeat)
+ evtimer_start (w);
+}
+