Francois Gouget : testbot/TestAgent: Retry the Wait RPC if the connection gets broken.

Alexandre Julliard julliard at winehq.org
Thu May 15 15:13:55 CDT 2014


Module: tools
Branch: master
Commit: a3bc1bebd8870d08eb2593609ef72b64ad01b24a
URL:    http://source.winehq.org/git/tools.git/?a=commit;h=a3bc1bebd8870d08eb2593609ef72b64ad01b24a

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Thu May 15 15:55:23 2014 +0200

testbot/TestAgent: Retry the Wait RPC if the connection gets broken.

This seems necessary to work around network flakiness.

---

 testbot/lib/WineTestBot/TestAgent.pm |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/testbot/lib/WineTestBot/TestAgent.pm b/testbot/lib/WineTestBot/TestAgent.pm
index fb14b38..b22fb06 100644
--- a/testbot/lib/WineTestBot/TestAgent.pm
+++ b/testbot/lib/WineTestBot/TestAgent.pm
@@ -1232,8 +1232,12 @@ sub Wait($$$;$)
       # The process has quit
       last if (defined $Result);
 
-      # Retry only if the timeout occurred on the remote end
-      last if ($self->{err} !~ /timed out waiting/);
+      # The only 'error' we should be getting here is the TestAgent server
+      # telling us it timed out waiting for the process. However flaky network
+      # connections like to break while we're waiting for the reply. So retry
+      # if that happens and let the automatic reconnection detect real network
+      # issues.
+      last if ($self->{err} !~ /(?:timed out waiting|network read timed out)/);
     }
   }
   $self->SetTimeout($OldTimeout);




More information about the wine-cvs mailing list