uloop: optimize uloop_timeout_set() implementaiton a bit.
[project/libubox.git] / uloop.c
diff --git a/uloop.c b/uloop.c
index 9a77ce4..d4df6e2 100644 (file)
--- a/uloop.c
+++ b/uloop.c
@@ -453,14 +453,14 @@ int uloop_timeout_set(struct uloop_timeout *timeout, int msecs)
        if (timeout->pending)
                uloop_timeout_cancel(timeout);
 
-       uloop_gettime(&timeout->time);
+       uloop_gettime(time);
 
        time->tv_sec += msecs / 1000;
        time->tv_usec += (msecs % 1000) * 1000;
 
        if (time->tv_usec > 1000000) {
                time->tv_sec++;
-               time->tv_usec %= 1000000;
+               time->tv_usec -= 1000000;
        }
 
        return uloop_timeout_add(timeout);