From fe7f056cfc2dc30ab33a1e36b0005fa1e39b0e50 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 10 Jul 2009 00:36:21 +0000 Subject: *** empty log message *** --- ev_kqueue.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'ev_kqueue.c') diff --git a/ev_kqueue.c b/ev_kqueue.c index 3a4824f..2a9832f 100644 --- a/ev_kqueue.c +++ b/ev_kqueue.c @@ -85,6 +85,8 @@ kqueue_poll (EV_P_ ev_tstamp timeout) int res, i; struct timespec ts; + EV_SUSPEND_CB; + /* need to resize so there is enough space for errors */ if (kqueue_changecnt > kqueue_eventmax) { @@ -93,13 +95,13 @@ kqueue_poll (EV_P_ ev_tstamp timeout) kqueue_events = (struct kevent *)ev_malloc (sizeof (struct kevent) * kqueue_eventmax); } - if (expect_false (suspend_cb)) suspend_cb (EV_A); ts.tv_sec = (time_t)timeout; ts.tv_nsec = (long)((timeout - (ev_tstamp)ts.tv_sec) * 1e9); res = kevent (backend_fd, kqueue_changes, kqueue_changecnt, kqueue_events, kqueue_eventmax, &ts); - if (expect_false (resume_cb)) resume_cb (EV_A); kqueue_changecnt = 0; + EV_RESUME_CB; + if (expect_false (res < 0)) { if (errno != EINTR) -- cgit v1.2.3