Francois Gouget : testbot/TestAgent: Give up early connecting to invalid hostnames / ports.

Alexandre Julliard julliard at winehq.org
Tue Sep 10 13:33:03 CDT 2019


Module: tools
Branch: master
Commit: 68cdb4bfb942b0c98a3e65a8ddbf7e22f8a6ce18
URL:    https://source.winehq.org/git/tools.git/?a=commit;h=68cdb4bfb942b0c98a3e65a8ddbf7e22f8a6ce18

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Tue Sep 10 11:01:27 2019 +0200

testbot/TestAgent: Give up early connecting to invalid hostnames / ports.

Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 testbot/lib/WineTestBot/TestAgent.pm | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/testbot/lib/WineTestBot/TestAgent.pm b/testbot/lib/WineTestBot/TestAgent.pm
index ca81283..a4a2f49 100644
--- a/testbot/lib/WineTestBot/TestAgent.pm
+++ b/testbot/lib/WineTestBot/TestAgent.pm
@@ -905,6 +905,11 @@ sub _Connect($)
         if (!$self->{fd})
         {
           alarm(0);
+          if ($!{EINVAL})
+          {
+            $self->_SetError($FATAL, "The '$self->{agenthost}' hostname or the '$self->{agentport}' port is invalid.");
+            die "socket";
+          }
           $self->_SetError($FATAL, $!);
           return; # out of eval
         }
@@ -930,12 +935,16 @@ sub _Connect($)
       $self->{rpc} = $OldRPC;
       return 1;
     }
+
     if ($@)
     {
-      $self->_SetError($FATAL, "Timed out in $Step while connecting to $self->{connection}");
+      if ($@ eq "timeout")
+      {
+        $self->_SetError($FATAL, "Timed out in $Step while connecting to $self->{connection}");
+      }
+      last;
     }
-    # Ideally we should probably check the error and not retry if it is likely
-    # permanent, like a hostname that does not resolve.
+
     my $Remaining = $Attempt * $self->{cinterval} - (time() - $Start);
     sleep($Remaining) if ($Remaining > 0);
   }




More information about the wine-cvs mailing list