From 73fb20bc600546e5c7d7e0ad41b28a9b7856665a Mon Sep 17 00:00:00 2001 From: aavit Date: Thu, 25 Nov 2010 12:14:51 +0100 Subject: Avoid race condition: don't quit until new executable is ready --- tests/arthur/baselineserver/src/baselineserver.cpp | 2 ++ tests/arthur/common/baselineprotocol.pri | 1 + 2 files changed, 3 insertions(+) diff --git a/tests/arthur/baselineserver/src/baselineserver.cpp b/tests/arthur/baselineserver/src/baselineserver.cpp index 0399224..fbf68f5 100644 --- a/tests/arthur/baselineserver/src/baselineserver.cpp +++ b/tests/arthur/baselineserver/src/baselineserver.cpp @@ -97,6 +97,8 @@ void BaselineServer::heartbeat() QFileInfo me(QCoreApplication::applicationFilePath()); if (me.lastModified() == meLastMod) return; + if (!me.exists() || !me.isExecutable()) + return; //# (could close() here to avoid accepting new connections, to avoid livelock) //# also, could check for a timeout to force exit, to avoid hung threads blocking diff --git a/tests/arthur/common/baselineprotocol.pri b/tests/arthur/common/baselineprotocol.pri index 996f9d5..62e38a6 100644 --- a/tests/arthur/common/baselineprotocol.pri +++ b/tests/arthur/common/baselineprotocol.pri @@ -1,4 +1,5 @@ INCLUDEPATH += $$PWD +DEPENDPATH += $$PWD QT *= network -- cgit v0.12