uloop: another timer fix
[project/libubox.git] / uloop.c
diff --git a/uloop.c b/uloop.c
index aa09750..6bc974d 100644 (file)
--- a/uloop.c
+++ b/uloop.c
@@ -341,11 +341,11 @@ int uloop_timeout_set(struct uloop_timeout *timeout, int msecs)
        gettimeofday(&timeout->time, NULL);
 
        time->tv_sec += msecs / 1000;
-       time->tv_usec += msecs % 1000;
+       time->tv_usec += (msecs % 1000) * 1000;
 
        if (time->tv_usec > 1000000) {
                time->tv_sec++;
-               time->tv_usec %= 100000;
+               time->tv_usec %= 1000000;
        }
 
        return uloop_timeout_add(timeout);