X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FDSKQXS.pm;h=acc31d9baa2242c75487510b87111574e1c98078;hb=af0b0fb7a454470a32c452119d0392e0dedb3fe1;hp=b9b0b6c5dfbae3f29dd61a10a4778d41a37e8f1a;hpb=faa0f744db6047db0594baf00535cc8122211ede;p=public-inbox.git diff --git a/lib/PublicInbox/DSKQXS.pm b/lib/PublicInbox/DSKQXS.pm index b9b0b6c5..acc31d9b 100644 --- a/lib/PublicInbox/DSKQXS.pm +++ b/lib/PublicInbox/DSKQXS.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2019-2020 all contributors +# Copyright (C) 2019-2021 all contributors # Licensed the same as Danga::Socket (and Perl5) # License: GPL-1.0+ or Artistic-1.0-Perl # @@ -105,10 +105,10 @@ sub epoll_ctl { my $kq = $self->{kq}; if ($op == EPOLL_CTL_MOD) { $kq->EV_SET($fd, EVFILT_READ, kq_flag(EPOLLIN, $ev)); - $kq->EV_SET($fd, EVFILT_WRITE, kq_flag(EPOLLOUT, $ev)); + eval { $kq->EV_SET($fd, EVFILT_WRITE, kq_flag(EPOLLOUT, $ev)) }; } elsif ($op == EPOLL_CTL_DEL) { $kq->EV_SET($fd, EVFILT_READ, EV_DISABLE); - $kq->EV_SET($fd, EVFILT_WRITE, EV_DISABLE); + eval { $kq->EV_SET($fd, EVFILT_WRITE, EV_DISABLE) }; } else { # EPOLL_CTL_ADD $kq->EV_SET($fd, EVFILT_READ, EV_ADD|kq_flag(EPOLLIN, $ev)); @@ -134,7 +134,7 @@ sub epoll_wait { } } # caller only cares for $events[$i]->[0] - scalar(@$events); + $_ = $_->[0] for @$events; } # kqueue is close-on-fork (not exec), so we must not close it