[Libreoffice-commits] online.git: loolwsd/LOOLForKit.cpp
Tor Lillqvist
tml at collabora.com
Wed Oct 12 11:59:46 UTC 2016
loolwsd/LOOLForKit.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
New commits:
commit 4655c73539ac5bc4119f9b652efa1708419b3a64
Author: Tor Lillqvist <tml at collabora.com>
Date: Wed Oct 12 14:49:01 2016 +0300
Check the capabilities only after opening the fifo
loolwsd is waiting in open() for loolkit to open its end of the pipe,
so if loolforkit exits before it has opened the pipe, loolwsd will
wait forever and not notice that loolkit has exited. Which is not
ideal.
Note that there are other sanity checks done before loolforkit opens
the pipe, and if some of them fail, and loolforkit exits, loolwsd will
be hanging in the open and not notice. Need to carefully look through
that and re-factor as necessary.
Using a named pipe (FIFO) is probably pointless. We should just create
a normal pipe in loolwsd and pass the fd of the reading end on the
command-line to loolforkit.
diff --git a/loolwsd/LOOLForKit.cpp b/loolwsd/LOOLForKit.cpp
index 4dc7b3a..fa03aaa 100644
--- a/loolwsd/LOOLForKit.cpp
+++ b/loolwsd/LOOLForKit.cpp
@@ -280,9 +280,6 @@ int main(int argc, char** argv)
Log::initialize("frk", logLevel ? logLevel : "", logColor != nullptr, logToFile, logProperties);
- if (!haveCorrectCapabilities())
- return Application::EXIT_SOFTWARE;
-
Util::setTerminationSignals();
Util::setFatalSignals();
@@ -379,6 +376,9 @@ int main(int argc, char** argv)
}
Log::debug("open(" + pipeLoolwsd + ", RDONLY) = " + std::to_string(pipeFd));
+ if (!haveCorrectCapabilities())
+ return Application::EXIT_SOFTWARE;
+
// Initialize LoKit
if (!globalPreinit(loTemplate))
std::_Exit(Application::EXIT_SOFTWARE);
More information about the Libreoffice-commits
mailing list