[Libreoffice-commits] online.git: loolwsd/test
Ashod Nakashian
ashod.nakashian at collabora.co.uk
Sun May 8 04:18:54 UTC 2016
loolwsd/test/UnitPrefork.cpp | 14 ++++++++++++++
1 file changed, 14 insertions(+)
New commits:
commit 4369cb1ff30acdcc3ce0d56a696d0c9b83add433
Author: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
Date: Sat May 7 09:44:48 2016 -0400
loolwsd: UnitPrefork times out while waiting on child to respond
This prevents deadlocking in case of test failure.
Change-Id: I3026311e9a67543a26acb0316546e6b5aacf61dc
Reviewed-on: https://gerrit.libreoffice.org/24738
Reviewed-by: Ashod Nakashian <ashnakash at gmail.com>
Tested-by: Ashod Nakashian <ashnakash at gmail.com>
diff --git a/loolwsd/test/UnitPrefork.cpp b/loolwsd/test/UnitPrefork.cpp
index e90ba79..a9fdbba 100644
--- a/loolwsd/test/UnitPrefork.cpp
+++ b/loolwsd/test/UnitPrefork.cpp
@@ -14,6 +14,7 @@
#include <sys/types.h>
#include <dirent.h>
+#include "Common.hpp"
#include "IoUtil.hpp"
#include "LOOLProtocol.hpp"
#include "Unit.hpp"
@@ -39,6 +40,12 @@ public:
setHasKitHooks();
}
+ virtual void returnValue(int &retValue) override
+ {
+ // 0 when empty (success), otherwise failure.
+ retValue = !_failure.empty();
+ }
+
virtual void preSpawnCount(int &numPrefork) override
{
numPrefork = NumToPrefork;
@@ -52,6 +59,13 @@ public:
int flags;
char buffer[4096];
+ static const Poco::Timespan waitTime(COMMAND_TIMEOUT_MS * 1000);
+ if (!socket->poll(waitTime, Poco::Net::Socket::SELECT_READ))
+ {
+ _failure = "Timed out waiting for child to respond to unit-memdump command.";
+ return;
+ }
+
int length = IoUtil::receiveFrame(*socket, buffer, sizeof (buffer), flags);
std::string memory = LOOLProtocol::getFirstLine(buffer, length);
More information about the Libreoffice-commits
mailing list