diff options
Diffstat (limited to 'queue_kqueue.c')
-rw-r--r-- | queue_kqueue.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/queue_kqueue.c b/queue_kqueue.c index 9633496..c46130b 100644 --- a/queue_kqueue.c +++ b/queue_kqueue.c @@ -52,16 +52,11 @@ struct mog_fd * mog_idleq_wait(struct mog_queue *q, int timeout) * in kevent(). This allows us to wake up an respond to a * cancellation request (since kevent() is not a cancellation point). */ - if (cancellable) { - check_cancel(); - mog_intr_enable(); - } + if (cancellable) + mog_testcancel(); rc = kevent(q->queue_fd, NULL, 0, &event, 1, tsp); - if (cancellable) - PRESERVE_ERRNO( mog_intr_disable() ); - if (rc > 0) { mfd = event.udata; mog_fd_check_out(mfd); @@ -70,7 +65,7 @@ struct mog_fd * mog_idleq_wait(struct mog_queue *q, int timeout) return mfd; } if (cancellable) - check_cancel(); + mog_testcancel(); if (rc == 0) return NULL; |