diff options
author | Eric Wong <e@yhbt.net> | 2020-01-25 20:57:57 +0000 |
---|---|---|
committer | Eric Wong <e@yhbt.net> | 2020-01-27 02:58:03 +0000 |
commit | fcfa0d639da338c470f07942da71f78fa65354a1 (patch) | |
tree | 24065141751adacf4898fd1546fd90dd9f7bbd91 /lib/PublicInbox/WwwStatic.pm | |
parent | 05a06f3262a2ddbf46adb85169e13ce9127e4524 (diff) | |
download | public-inbox-fcfa0d639da338c470f07942da71f78fa65354a1.tar.gz |
The "perlio" layer doesn't do read(2) syscalls over 8192 bytes at the moment, and binmode($fh, ':unix') leaks[1]. So use sysseek and sysread for now, since I can't see retaining compatibility with PerlIO::scalar being worth the trouble. [1] http://nntp.perl.org/group/perl.perl5.porters/256918
Diffstat (limited to 'lib/PublicInbox/WwwStatic.pm')
-rw-r--r-- | lib/PublicInbox/WwwStatic.pm | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/PublicInbox/WwwStatic.pm b/lib/PublicInbox/WwwStatic.pm index 60a71d8d..547b75bb 100644 --- a/lib/PublicInbox/WwwStatic.pm +++ b/lib/PublicInbox/WwwStatic.pm @@ -176,9 +176,9 @@ sub getline { my $len = $self->{len} or return; # undef, tells server we're done my $n = 8192; $n = $len if $len < $n; - seek($self->{in}, $self->{off}, SEEK_SET) or - die "seek ($self->{path}): $!"; - my $r = read($self->{in}, my $buf, $n); + sysseek($self->{in}, $self->{off}, SEEK_SET) or + die "sysseek ($self->{path}): $!"; + my $r = sysread($self->{in}, my $buf, $n); if (defined $r && $r > 0) { # success! $self->{len} = $len - $r; $self->{off} += $r; |