|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [OSSTEST PATCH 2/5] TCP fix: Do not wait for queuedaemon to speak
From: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
This depends on the preceding daemonlib patch and an ms-queuedaemon
restart.
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
Osstest/Executive.pm | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/Osstest/Executive.pm b/Osstest/Executive.pm
index 61a99bc3..80e70070 100644
--- a/Osstest/Executive.pm
+++ b/Osstest/Executive.pm
@@ -643,7 +643,16 @@ sub tcpconnect_queuedaemon () {
my $qserv= tcpconnect($c{QueueDaemonHost}, $c{QueueDaemonPort});
$qserv->autoflush(1);
+ # TCP connections can get into a weird state where the client
+ # thinks the connection is open but the server has no record
+ # of it. To avoid this, have the client speak without waiting
+ # for the server.
+ #
+ # See A TCP "stuck" connection mystery"
+ # https://www.evanjones.ca/tcp-stuck-connection-mystery.html
+ print $qserv "noop\n";
$_= <$qserv>; defined && m/^OK ms-queuedaemon\s/ or die "$_?";
+ $_= <$qserv>; defined && m/^OK noop\s/ or die "$_?";
return $qserv;
}
--
2.20.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |