From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 8BC591F4BE for ; Mon, 24 Jun 2019 02:54:17 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 18/57] ds: import IO::KQueue namespace Date: Mon, 24 Jun 2019 02:52:19 +0000 Message-Id: <20190624025258.25592-19-e@80x24.org> In-Reply-To: <20190624025258.25592-1-e@80x24.org> References: <20190624025258.25592-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: 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(-) 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 -- EW