summaryrefslogtreecommitdiff
blob: 3fb4ce913db0b48715cb4597b75941479b6438f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
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,"");
 }