diff options
author | Eric Wong <e@80x24.org> | 2019-06-24 02:52:19 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-06-24 05:26:26 +0000 |
commit | 78380ca176e62503407b76df20fe3e9a8a33aa35 (patch) | |
tree | 6937cf3a88a8f4d9588a44bff467acbf60ada59d | |
parent | f41dc46f6213661ba51443d6cb0d6a9ba4d41472 (diff) | |
download | public-inbox-78380ca176e62503407b76df20fe3e9a8a33aa35.tar.gz |
Make the rest of our IO::KQueue-using code less verbose and closer to the C equivalent.
-rw-r--r-- | lib/PublicInbox/DS.pm | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/lib/PublicInbox/DS.pm b/lib/PublicInbox/DS.pm index 2e0aa1e0..00e2e5c6 100644 --- a/lib/PublicInbox/DS.pm +++ b/lib/PublicInbox/DS.pm @@ -37,7 +37,7 @@ use Errno qw(EAGAIN EINVAL); use Carp qw(croak confess); use File::Temp qw(tempfile); -our $HAVE_KQUEUE = eval { require IO::KQueue; 1 }; +our $HAVE_KQUEUE = eval { require IO::KQueue; IO::KQueue->import; 1 }; our ( $HaveEpoll, # Flag -- is epoll available? initially undefined. @@ -411,14 +411,10 @@ retry: } } elsif ($HaveKQueue) { - my $f = $ev & EPOLLIN ? IO::KQueue::EV_ENABLE() - : IO::KQueue::EV_DISABLE(); - $KQueue->EV_SET($fd, IO::KQueue::EVFILT_READ(), - IO::KQueue::EV_ADD() | $f); - $f = $ev & EPOLLOUT ? IO::KQueue::EV_ENABLE() - : IO::KQueue::EV_DISABLE(); - $KQueue->EV_SET($fd, IO::KQueue::EVFILT_WRITE(), - IO::KQueue::EV_ADD() | $f); + my $f = $ev & EPOLLIN ? EV_ENABLE() : EV_DISABLE(); + $KQueue->EV_SET($fd, EVFILT_READ(), EV_ADD() | $f); + $f = $ev & EPOLLOUT ? EV_ENABLE() : EV_DISABLE(); + $KQueue->EV_SET($fd, EVFILT_WRITE(), EV_ADD() | $f); } Carp::cluck("PublicInbox::DS::new blowing away existing descriptor map for fd=$fd ($DescriptorMap{$fd})") @@ -645,8 +641,8 @@ sub watch_read { # If it changed, set it if ($event != $self->{event_watch}) { if ($HaveKQueue) { - $KQueue->EV_SET($fd, IO::KQueue::EVFILT_READ(), - $val ? IO::KQueue::EV_ENABLE() : IO::KQueue::EV_DISABLE()); + $KQueue->EV_SET($fd, EVFILT_READ(), + $val ? EV_ENABLE() : EV_DISABLE()); } elsif ($HaveEpoll) { epoll_ctl($Epoll, EPOLL_CTL_MOD, $fd, $event) and @@ -675,8 +671,8 @@ sub watch_write { # If it changed, set it if ($event != $self->{event_watch}) { if ($HaveKQueue) { - $KQueue->EV_SET($fd, IO::KQueue::EVFILT_WRITE(), - $val ? IO::KQueue::EV_ENABLE() : IO::KQueue::EV_DISABLE()); + $KQueue->EV_SET($fd, EVFILT_WRITE(), + $val ? EV_ENABLE() : EV_DISABLE()); } elsif ($HaveEpoll) { epoll_ctl($Epoll, EPOLL_CTL_MOD, $fd, $event) and |