[Libreoffice-commits] online.git: 2 commits - loolwsd/LOOLForKit.cpp loolwsd/LOOLWSD.cpp loolwsd/PROBLEMS
Tor Lillqvist
tml at collabora.com
Tue Apr 12 14:50:11 UTC 2016
loolwsd/LOOLForKit.cpp | 1 +
loolwsd/LOOLWSD.cpp | 10 +++++++---
loolwsd/PROBLEMS | 8 --------
3 files changed, 8 insertions(+), 11 deletions(-)
New commits:
commit 5c6e2095675028816131628b6ffc3d33b5eff5c3
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Apr 12 17:49:20 2016 +0300
Log creation and opening of fifos in more detail
diff --git a/loolwsd/LOOLForKit.cpp b/loolwsd/LOOLForKit.cpp
index dd74a2c..23f43da 100644
--- a/loolwsd/LOOLForKit.cpp
+++ b/loolwsd/LOOLForKit.cpp
@@ -226,6 +226,7 @@ int main(int argc, char** argv)
Log::syserror("Failed to open pipe [" + pipeLoolwsd + "] for reading. Exiting.");
std::exit(Application::EXIT_SOFTWARE);
}
+ Log::debug("open(" + pipeLoolwsd + ", RDONLY) = " + std::to_string(pipeFd));
// Initialize LoKit
if (!globalPreinit(loTemplate))
diff --git a/loolwsd/LOOLWSD.cpp b/loolwsd/LOOLWSD.cpp
index ffbfeb2..4b1a1ed 100644
--- a/loolwsd/LOOLWSD.cpp
+++ b/loolwsd/LOOLWSD.cpp
@@ -1316,6 +1316,7 @@ int LOOLWSD::main(const std::vector<std::string>& /*args*/)
}
const std::string pipeLoolwsd = Path(pipePath, FIFO_LOOLWSD).toString();
+ Log::debug("mkfifo(" + pipeLoolwsd + ")");
if (mkfifo(pipeLoolwsd.c_str(), 0666) < 0 && errno != EEXIST)
{
Log::syserror("Failed to create pipe FIFO [" + pipeLoolwsd + "].");
@@ -1326,6 +1327,7 @@ int LOOLWSD::main(const std::vector<std::string>& /*args*/)
int pipeFlags = O_RDONLY | O_NONBLOCK;
int notifyPipe = -1;
const std::string pipeNotify = Path(pipePath, FIFO_ADMIN_NOTIFY).toString();
+ Log::debug("mkfifo(" + pipeNotify + ")");
if (mkfifo(pipeNotify.c_str(), 0666) < 0 && errno != EEXIST)
{
Log::syserror("Failed to create pipe FIFO [" + std::string(FIFO_ADMIN_NOTIFY) + "].");
@@ -1334,20 +1336,21 @@ int LOOLWSD::main(const std::vector<std::string>& /*args*/)
if ((notifyPipe = open(pipeNotify.c_str(), pipeFlags) ) < 0)
{
- Log::syserror("Failed to open pipe for reading.");
+ Log::syserror("Failed to open pipe [" + pipeNotify + "] for reading.");
std::exit(Application::EXIT_SOFTWARE);
}
+ Log::debug("open(" + pipeNotify + ", RDONLY) = " + std::to_string(notifyPipe));
if ((pipeFlags = fcntl(notifyPipe, F_GETFL, 0)) < 0)
{
- Log::syserror("Failed to get pipe flags [" + std::string(FIFO_ADMIN_NOTIFY) + "].");
+ Log::syserror("Failed to get pipe flags [" + pipeNotify + "].");
std::exit(Application::EXIT_SOFTWARE);
}
pipeFlags &= ~O_NONBLOCK;
if (fcntl(notifyPipe, F_SETFL, pipeFlags) < 0)
{
- Log::syserror("Failed to set pipe flags [" + std::string(FIFO_ADMIN_NOTIFY) + "].");
+ Log::syserror("Failed to set pipe flags [" + pipeNotify + "].");
std::exit(Application::EXIT_SOFTWARE);
}
@@ -1400,6 +1403,7 @@ int LOOLWSD::main(const std::vector<std::string>& /*args*/)
Log::syserror("Failed to open pipe [" + pipeLoolwsd + "] for writing.");
return Application::EXIT_SOFTWARE;
}
+ Log::debug("open(" + pipeLoolwsd + ", WRONLY) = " + std::to_string(ForKitWritePipe));
threadPool.start(Admin::instance());
commit 6342c33dda0d6a609307a6d4b519e5284fc1a8fb
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Apr 12 16:04:59 2016 +0300
ClientPortNumber is not static any longer
diff --git a/loolwsd/PROBLEMS b/loolwsd/PROBLEMS
index edc151a..89ed2c7 100644
--- a/loolwsd/PROBLEMS
+++ b/loolwsd/PROBLEMS
@@ -1,14 +1,6 @@
- There is way too much of busy waiting for fairly arbitrarily chosen
timeout periods in the code.
-- The --clientport= option to a lookit process (when spawning them,
- not forking) can not work as intended. The ClientPortNumber variable
- is declared *static* in ChildProcessSession.hpp and thus is a
- separate variable in each compilation unit (object file) that
- includes ChildProcessSession.hpp. The variable that is assigned in
- main() in LOOLBroker.cpp is not the variable used in
- ChildProcessSession::downloadAs() in ChildProcessSession.cpp.
-
- Recursive mutexes are evil. In general, I think the consensus is
that recursive mutexes should be avoided. One should use them only
when absolutely necessary because the code-base is so complex that
More information about the Libreoffice-commits
mailing list