Expire timers on expiry time too, not just after.

diff --git a/scheduler/services.c b/scheduler/services.c
index 68eeed7..8df0e3e 100644
--- a/scheduler/services.c
+++ b/scheduler/services.c
@@ -107,7 +107,9 @@
                     }
 
             if ( s->flags & SERVICE_USE_TIMEOUT )
-                if ( timercmp( &s->expire, &curTime, < ) )
+                if ((s->expire.tv_sec < curTime.tv_sec) ||
+                    ((s->expire.tv_sec == curTime.tv_sec) &&
+                     (s->expire.tv_usec <= curTime.tv_usec)))
                 {
                     SERVICE_AddTimeval( &s->expire, s->rate );
                     callback = s->callback;