about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-06-27 21:21:04 +0000
committerEric Wong <e@80x24.org>2019-06-29 19:59:00 +0000
commit63eeb22554eb844cee274f71d3541446c28b328f (patch)
treed6598ef9ce0323575b3c13f58183534a85c840ec
parent6306663a3b4167edfd5b1fd640233da96fe9e32f (diff)
downloadpublic-inbox-63eeb22554eb844cee274f71d3541446c28b328f.tar.gz
Don't use epoll or kqueue to watch for anything unless we hit
EAGAIN, since we don't know if a socket is SSL or not.
-rw-r--r--lib/PublicInbox/DS.pm2
-rw-r--r--lib/PublicInbox/HTTP.pm4
2 files changed, 2 insertions, 4 deletions
diff --git a/lib/PublicInbox/DS.pm b/lib/PublicInbox/DS.pm
index 9f245347..8f1494f6 100644
--- a/lib/PublicInbox/DS.pm
+++ b/lib/PublicInbox/DS.pm
@@ -557,8 +557,6 @@ sub watch ($$) {
     0;
 }
 
-sub watch_in1 ($) { watch($_[0], EPOLLIN | EPOLLONESHOT) }
-
 # return true if complete, false if incomplete (or failure)
 sub accept_tls_step ($) {
     my ($self) = @_;
diff --git a/lib/PublicInbox/HTTP.pm b/lib/PublicInbox/HTTP.pm
index 1153ef98..856b8959 100644
--- a/lib/PublicInbox/HTTP.pm
+++ b/lib/PublicInbox/HTTP.pm
@@ -95,7 +95,7 @@ sub rbuf_process {
         }
         if ($r < 0) { # incomplete
                 $self->rbuf_idle($rbuf);
-                return $self->watch_in1;
+                return $self->requeue;
         }
         $$rbuf = substr($$rbuf, $r);
         my $len = input_prepare($self, \%env);
@@ -241,7 +241,7 @@ sub next_request ($) {
                 push @$pipelineq, $self;
                 $pipet ||= PublicInbox::EvCleanup::asap(*process_pipelineq);
         } else { # wait for next request
-                $self->watch_in1;
+                $self->requeue;
         }
 }