aboutsummaryrefslogtreecommitdiff
path: root/tests/ftpserver.pl
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-05-02 10:03:12 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-05-02 10:03:12 +0000
commit9a3e0e52cbb0999efb3906b67cbb94c22a37cb32 (patch)
tree687abee8ed537b4fa99798c27dc41b23d404dfff /tests/ftpserver.pl
parentb0f856213d3f01fd5b87b5eee6725ecaea2c6876 (diff)
fix the server for the slow response case
Diffstat (limited to 'tests/ftpserver.pl')
-rw-r--r--tests/ftpserver.pl24
1 files changed, 15 insertions, 9 deletions
diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl
index 3aed88b59..dd8383fa6 100644
--- a/tests/ftpserver.pl
+++ b/tests/ftpserver.pl
@@ -585,17 +585,23 @@ sub PASV_command {
eval {
local $SIG{ALRM} = sub { die "alarm\n" };
- alarm 5; # assume swift operations
+ # assume swift operations unless explicitly slow
+ alarm ($controldelay?20:5);
# Wait for 'CNCT'
- my $input = <DREAD>;
-
- if($input !~ /^CNCT/) {
- # we wait for a connected client
- next;
- }
- logmsg "====> Client DATA connect\n";
-
+ my $input;
+ my $size;
+
+ while(sysread(DREAD, $input, $size)) {
+
+ if($input !~ /^CNCT/) {
+ # we wait for a connected client
+ logmsg "Odd, we got $input from client\n";
+ next;
+ }
+ logmsg "====> Client DATA connect\n";
+ last;
+ }
alarm 0;
};
if ($@) {