From 9b12760f530967f7200d04c9d8b5c0b27d9e1283 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 29 Feb 2016 00:11:23 +0000 Subject: http: error check for sysseek on input Just in case we screwed up somewhere, we need to match up syswrite to sysseek and we also favor procedural calls for native types. --- lib/PublicInbox/HTTP.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/PublicInbox/HTTP.pm b/lib/PublicInbox/HTTP.pm index 928c0f22..4d771f2b 100644 --- a/lib/PublicInbox/HTTP.pm +++ b/lib/PublicInbox/HTTP.pm @@ -109,7 +109,7 @@ sub app_dispatch ($) { $host =~ s/:(\d+)\z// and $env->{SERVER_PORT} = $1; $env->{SERVER_NAME} = $host; } - $env->{'psgi.input'}->seek(0, SEEK_SET); + sysseek($env->{'psgi.input'}, 0, SEEK_SET) or die "input seek failed: $!"; my $res = Plack::Util::run_app($self->{httpd}->{app}, $env); eval { if (ref($res) eq 'CODE') { @@ -204,7 +204,7 @@ sub event_write { if ($self->{rbuf} eq '') { $self->watch_read(1); } else { - # avoid recursion + # avoid recursion for pipelined requests Danga::Socket->AddTimer(0, sub { rbuf_process($self) }); } } -- cgit v1.2.3-24-ge0c7