about summary refs log tree commit homepage
path: root/lib/PublicInbox/DSKQXS.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2022-10-11 00:05:54 +0000
committerEric Wong <e@80x24.org>2022-10-11 00:07:57 +0000
commit6cdb3cfe9c0aa747c20922ed438636bf74b47b62 (patch)
tree27b6b28db34f2c482eb9cf2156180a30f2f5b017 /lib/PublicInbox/DSKQXS.pm
parent771ec3e170aebcb9c0f3aa29a9b62040ba50f050 (diff)
downloadpublic-inbox-6cdb3cfe9c0aa747c20922ed438636bf74b47b62.tar.gz
`do {} while(...)' loops in Perl don't support `next', actually :x
This only affects *BSD platforms with IO::KQueue installed.

Fixes: d6674af04cb74a4e "httpd|nntpd: avoid missed signal wakeups"
Diffstat (limited to 'lib/PublicInbox/DSKQXS.pm')
-rw-r--r--lib/PublicInbox/DSKQXS.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/PublicInbox/DSKQXS.pm b/lib/PublicInbox/DSKQXS.pm
index eccfa56d..7141b131 100644
--- a/lib/PublicInbox/DSKQXS.pm
+++ b/lib/PublicInbox/DSKQXS.pm
@@ -71,7 +71,7 @@ sub READ { # called by sysread() for signalfd compatibility
         my $nr = $len / 128;
         my $r = 0;
         $_[1] = '';
-        do {
+        while (1) {
                 while ($nr--) {
                         my $signo = shift(@$sigbuf) or last;
                         # caller only cares about signalfd_siginfo.ssi_signo:
@@ -94,7 +94,7 @@ sub READ { # called by sysread() for signalfd compatibility
                 # field shows coalesced signals, and maybe we'll use it
                 # in the future...
                 @$sigbuf = map { $_->[0] } @events;
-        } while (1);
+        }
 }
 
 # for fileno() calls in PublicInbox::DS