]> git.llucax.com Git - software/libev.git/blobdiff - ev_kqueue.c
fix ns calculation in ev_kqueue
[software/libev.git] / ev_kqueue.c
index eeaea3eeb8da287fc2310e8342e78841cec45dd7..851f7e5ca24769cc3b930d4a1dbae7ca2433f788 100644 (file)
@@ -39,7 +39,8 @@ kqueue_change (EV_P_ int fd, int filter, int flags, int fflags)
 {
   struct kevent *ke;
 
-  array_needsize (struct kevent, kqueue_changes, kqueue_changemax, ++kqueue_changecnt, );
+  ++kqueue_changecnt;
+  array_needsize (struct kevent, kqueue_changes, kqueue_changemax, kqueue_changecnt, EMPTY2);
 
   ke = &kqueue_changes [kqueue_changecnt - 1];
   memset (ke, 0, sizeof (struct kevent));
@@ -87,7 +88,8 @@ kqueue_poll (EV_P_ ev_tstamp timeout)
     }
 
   ts.tv_sec  = (time_t)timeout;
-  ts.tv_nsec = (long)(timeout - (ev_tstamp)ts.tv_sec) * 1e9;
+  ts.tv_nsec = (long)((timeout - (ev_tstamp)ts.tv_sec) * 1e9);
+  fprintf (stderr, "to %ld:%09ld %f\n", ts.tv_sec, ts.tv_nsec, res);//D
   res = kevent (kqueue_fd, kqueue_changes, kqueue_changecnt, kqueue_events, kqueue_eventmax, &ts);
   kqueue_changecnt = 0;