common/IoUtil.cpp | 4 +++- wsd/LOOLWSD.cpp | 12 +++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-)
New commits: commit 373b4646451200d7565d23793e276540adecf3f9 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Sun Jan 15 12:32:20 2017 -0500 wsd: logs and cosmetics Change-Id: I67b0a929a50b05cd44de056ce6f8baafb8574dbf Reviewed-on: https://gerrit.libreoffice.org/33130 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/common/IoUtil.cpp b/common/IoUtil.cpp index 3466dca..3991fc3 100644 --- a/common/IoUtil.cpp +++ b/common/IoUtil.cpp @@ -206,14 +206,16 @@ void SocketProcessor(const std::shared_ptr<LOOLWebSocket>& ws, ssize_t writeToPipe(int pipe, const char* buffer, ssize_t size) { ssize_t count = 0; - while(true) + for (;;) { LOG_TRC("Writing to pipe. Data: [" << Util::formatLinesForLog(std::string(buffer, size)) << "]."); const auto bytes = write(pipe, buffer + count, size - count); if (bytes < 0) { if (errno == EINTR || errno == EAGAIN) + { continue; + } LOG_SYS("Failed to write to pipe. Data: [" << std::string(buffer, size) << "]."); count = -1; diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp index 7d0bb9f..e7d4ee7 100644 --- a/wsd/LOOLWSD.cpp +++ b/wsd/LOOLWSD.cpp @@ -399,13 +399,16 @@ static void preForkChildren() UnitWSD::get().preSpawnCount(numPreSpawn); // Wait until we have at least one child. - const auto timeout = std::chrono::milliseconds(CHILD_TIMEOUT_MS * 3); + const auto timeoutMs = CHILD_TIMEOUT_MS * 3; + const auto timeout = std::chrono::milliseconds(timeoutMs); + LOG_TRC("Waiting for a new child for a max of " << timeoutMs << " ms."); NewChildrenCV.wait_for(lock, timeout, []() { return !NewChildren.empty(); }); // Now spawn more, as needed. rebalanceChildren(numPreSpawn); // Make sure we have at least one before moving forward. + LOG_TRC("Waiting for a new child for a max of " << timeoutMs << " ms."); if (!NewChildrenCV.wait_for(lock, timeout, []() { return !NewChildren.empty(); })) { const auto msg = "Failed to fork child processes."; @@ -469,6 +472,7 @@ static std::shared_ptr<ChildProcess> getNewChild() ++numPreSpawn; // Replace the one we'll dispatch just now. rebalanceChildren(numPreSpawn); + LOG_TRC("Waiting for a new child for a max of " << CHILD_TIMEOUT_MS << " ms."); const auto timeout = chrono::milliseconds(CHILD_TIMEOUT_MS); if (NewChildrenCV.wait_for(lock, timeout, []() { return !NewChildren.empty(); })) { @@ -1021,7 +1025,7 @@ private: if (!child) { // Let the client know we can't serve now. - LOG_ERR("Failed to get new child. Service Unavailable."); + LOG_ERR("Failed to get new child."); return nullptr; } @@ -1104,6 +1108,9 @@ private: { LOG_CHECK_RET(docBroker && "Null docBroker instance", ); + const auto docKey = docBroker->getDocKey(); + LOG_DBG("Removing docBroker [" << docKey << "]" << (id.empty() ? "" : (" and session [" + id + "]."))); + std::unique_lock<std::mutex> docBrokersLock(DocBrokersMutex); auto lock = docBroker->getLock(); @@ -1114,7 +1121,6 @@ private: if (docBroker->getSessionsCount() == 0 || !docBroker->isAlive()) { - const auto docKey = docBroker->getDocKey(); LOG_INF("Removing unloaded DocumentBroker for docKey [" << docKey << "]."); DocBrokers.erase(docKey); docBroker->terminateChild(lock); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits