From 63eeb22554eb844cee274f71d3541446c28b328f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 27 Jun 2019 21:21:04 +0000 Subject: http: use requeue instead of watch_in1 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. --- lib/PublicInbox/DS.pm | 2 -- lib/PublicInbox/HTTP.pm | 4 ++-- 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; } } -- cgit v1.2.3-24-ge0c7