diff options
Diffstat (limited to 'net-proxy/adzapper/files/20110915-flush.patch')
-rw-r--r-- | net-proxy/adzapper/files/20110915-flush.patch | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/net-proxy/adzapper/files/20110915-flush.patch b/net-proxy/adzapper/files/20110915-flush.patch new file mode 100644 index 000000000000..3fb4ce913db0 --- /dev/null +++ b/net-proxy/adzapper/files/20110915-flush.patch @@ -0,0 +1,107 @@ +--- a/scripts/squid_redirect-nodata ++++ b/scripts/squid_redirect-nodata +@@ -31,7 +31,7 @@ + + use POSIX ":sys_wait_h"; + use Socket; +-require 'flush.pl'; ++use IO::Handle; + + $::IOSIZE=1024; + +@@ -232,7 +232,7 @@ + { + if (defined $::LogFile) + { print LOGFILE $_; +- flush(LOGFILE); ++ LOGFILE->flush();; + } + chomp; + +@@ -259,7 +259,7 @@ + } + } + +- flush(STDOUT); ++ STDOUT->flush(); + } + + exit 0; +@@ -789,14 +789,16 @@ + } + + # dispatch request and headers +- printflush(GCHILD_WRITE,"$method $uri $v1 $v2\n") ++ print GCHILD_WRITE "$method $uri $v1 $v2\n" + || die "tell grandchild the request: $!"; ++ GCHILD_WRITE->flush(); + + print PROXY "$method $uri HTTP/$v1.$v2\r\n"; + for my $H (@hdrs) + { print PROXY $H->[0], ":", $H->[1], "\r\n"; + } +- printflush(PROXY,"\r\n"); ++ print PROXY "\r\n"; ++ PROXY->flush(); + ##warn "[$$]: sent rq to proxy\n"; + + proxy_copybody(CONN,PROXY,$method,$persist,\@hdrs) +@@ -965,8 +967,9 @@ + } + + warn "[$child:$$]: pass response to parent\n"; +- printflush(TOCHILD,($persist ? PERSIST : CLOSE)." $code $info") ++ print TOCHILD ($persist ? PERSIST : CLOSE)." $code $info" + || die "[$child:$$]: print(TOCHILD) fails: $!"; ++ TOCHILD->flush(); + warn "[$child:$$]: told parent, passing response to client\n"; + + # copy to child +@@ -974,7 +977,8 @@ + for my $H (@hdrs) + { print CONN $H->[0], ":", $H->[1], "\r\n"; + } +- printflush(CONN,"\r\n"); ++ print CONN "\r\n"; ++ CONN->flush(); + + # see RFC2616 section 10 + if ( +@@ -1050,11 +1054,13 @@ + ) + { + ##warn "[$$]: read ".length($_)." bytes of request body\n"; +- if (! printflush($to,$_)) +- { warn "$::cmd: [$$]: printflush($to,..): $!"; ++ $to->autoflush(1); ++ if (! print $to $_) ++ { warn "$::cmd: [$$]: print $to ..): $!"; + $ok=0; + last COPY; + } ++ $to->autoflush(0); + $cl-=length if defined $cl; + } + warn "[$$]: finished unchunked body, ok=$ok"; +@@ -1083,10 +1089,10 @@ + { print $to $_; + $chunksize-=length; + } +- flush($to); ++ $to->flush(); + } + +- flush($to); ++ $to->flush(); + + # pass trailer headers + while (defined($_=<$from>) && !/^\r?\n/) +@@ -1096,7 +1102,7 @@ + { ##warn "[$$]: final trailer: $_"; + print $to $_; + } +- flush($to); ++ $to->flush(); + + return (1,""); + } |