]> granicus.if.org Git - libevent/commitdiff
when converting usec to msec round up; so that libevent does not spin until
authorNiels Provos <provos@gmail.com>
Sun, 19 Sep 2004 22:38:34 +0000 (22:38 +0000)
committerNiels Provos <provos@gmail.com>
Sun, 19 Sep 2004 22:38:34 +0000 (22:38 +0000)
the time conversion has caught up; from Aaron Hopkins <aaron at die.net>

svn:r121

devpoll.c
epoll.c
poll.c
rtsig.c

index 5fafdf54962321736d3614622780b19477cffc48..183db85d9e97238eaf05cd651da1067d43522b99 100644 (file)
--- a/devpoll.c
+++ b/devpoll.c
@@ -177,7 +177,7 @@ devpoll_dispatch(void *arg, struct timeval *tv)
        if (evsignal_deliver(&devpollop->evsigmask) == -1)
                return (-1);
 
-       timeout = tv->tv_sec * 1000 + tv->tv_usec / 1000;
+       timeout = tv->tv_sec * 1000 + (tv->tv_usec + 999) / 1000;
 
        dvp.dp_fds = devpollop->events;
        dvp.dp_nfds = devpollop->nevents;
diff --git a/epoll.c b/epoll.c
index be7e2d41b98d158db2b31a8f64ef8670d40ede39..9924d0fb6841f130709caa6aa985d7da51eabfdf 100644 (file)
--- a/epoll.c
+++ b/epoll.c
@@ -189,7 +189,7 @@ epoll_dispatch(void *arg, struct timeval *tv)
        if (evsignal_deliver(&epollop->evsigmask) == -1)
                return (-1);
 
-       timeout = tv->tv_sec * 1000 + tv->tv_usec / 1000;
+       timeout = tv->tv_sec * 1000 + (tv->tv_usec + 999) / 1000;
        res = epoll_wait(epollop->epfd, events, epollop->nevents, timeout);
 
        if (evsignal_recalc(&epollop->evsigmask) == -1)
diff --git a/poll.c b/poll.c
index 773e4d1b672fbd72d9581080554e1c9bd94a2134..bba594d4ca4d2dd6f3d0b3857d408621c9010156 100644 (file)
--- a/poll.c
+++ b/poll.c
@@ -166,7 +166,7 @@ poll_dispatch(void *arg, struct timeval *tv)
        if (evsignal_deliver(&pop->evsigmask) == -1)
                return (-1);
 
-       sec = tv->tv_sec * 1000 + tv->tv_usec / 1000;
+       sec = tv->tv_sec * 1000 + (tv->tv_usec + 999) / 1000;
        res = poll(pop->event_set, nfds, sec);
 
        if (evsignal_recalc(&pop->evsigmask) == -1)
diff --git a/rtsig.c b/rtsig.c
index 960715f39a566156d4307f328ba4e8e2b161c21d..59d1ceaad351549b91e8488a160e7b15d7e91afc 100644 (file)
--- a/rtsig.c
+++ b/rtsig.c
@@ -368,7 +368,8 @@ rtsig_dispatch(void *arg, struct timeval *tv)
        if (!op->cur)
                return (0);
 
-       res = poll(op->poll, op->cur, tv->tv_sec * 1000 + tv->tv_usec / 1000);
+       res = poll(op->poll, op->cur, tv->tv_sec * 1000 + 
+                                     (tv->tv_usec + 999) / 1000);
        if (res < 0)
                return (-1);