From 78380ca176e62503407b76df20fe3e9a8a33aa35 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 24 Jun 2019 02:52:19 +0000 Subject: ds: import IO::KQueue namespace Make the rest of our IO::KQueue-using code less verbose and closer to the C equivalent. --- lib/PublicInbox/DS.pm | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'lib/PublicInbox/DS.pm') 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 -- cgit v1.2.3-24-ge0c7