uloop: optimize uloop_timeout_set() implementaiton a bit.
authorYousong Zhou <yszhou4tech@gmail.com>
Wed, 21 Jan 2015 13:21:27 +0000 (21:21 +0800)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 21 Jan 2015 19:02:46 +0000 (20:02 +0100)
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
uloop.c

diff --git a/uloop.c b/uloop.c
index 9a77ce49a5a7c2444a768eac3eb5059f52681fb3..d4df6e210e36b534bea7b0d9e62b7c438c2641dc 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);