kit/Kit.cpp | 2 -- wsd/DocumentBroker.cpp | 9 +++++++-- 2 files changed, 7 insertions(+), 4 deletions(-)
New commits: commit dea8c03912a10da4b80e12fd71b98e8c5619fee5 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Mon Jan 9 13:54:37 2017 -0500 wsd: no need to have the lock when notifying Change-Id: If19aac3d52b45b0b0efc143885b933669d8a1198 Reviewed-on: https://gerrit.libreoffice.org/33113 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/kit/Kit.cpp b/kit/Kit.cpp index 4aa58ed..526aaa2 100644 --- a/kit/Kit.cpp +++ b/kit/Kit.cpp @@ -917,8 +917,6 @@ private: return false; } - // Retake the lock (technically, not needed). - lock.lock(); --_isLoading; _cvLoading.notify_one(); diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp index 35448fb..e8c08a7 100644 --- a/wsd/DocumentBroker.cpp +++ b/wsd/DocumentBroker.cpp @@ -373,6 +373,7 @@ bool DocumentBroker::save(const std::string& sessionId, bool success, const std: { LOG_DBG("Save skipped as document [" << _docKey << "] was not modified."); _lastSaveTime = std::chrono::steady_clock::now(); + lock.unlock(); _saveCV.notify_all(); return true; } @@ -381,6 +382,7 @@ bool DocumentBroker::save(const std::string& sessionId, bool success, const std: if (it == _sessions.end()) { LOG_ERR("Session with sessionId [" << sessionId << "] not found while saving docKey [" << _docKey << "]."); + lock.unlock(); _saveCV.notify_all(); return false; } @@ -388,8 +390,8 @@ bool DocumentBroker::save(const std::string& sessionId, bool success, const std: const Poco::URI& uriPublic = it->second->getPublicUri(); const auto uri = uriPublic.toString(); - // If we aren't destroying the last editable session just yet, and the file - // timestamp hasn't changed, skip saving. + // If we aren't destroying the last editable session just yet, + // and the file timestamp hasn't changed, skip saving. const auto newFileModifiedTime = Poco::File(_storage->getLocalRootPath()).getLastModified(); if (!_lastEditableSession && newFileModifiedTime == _lastFileModifiedTime) { @@ -397,6 +399,7 @@ bool DocumentBroker::save(const std::string& sessionId, bool success, const std: LOG_DBG("Skipping unnecessary saving to URI [" << uri << "] with docKey [" << _docKey << "]. File last modified " << _lastFileModifiedTime.elapsed() / 1000000 << " seconds ago."); _lastSaveTime = std::chrono::steady_clock::now(); + lock.unlock(); _saveCV.notify_all(); return true; } @@ -435,6 +438,7 @@ bool DocumentBroker::save(const std::string& sessionId, bool success, const std: LOG_DBG("Saved docKey [" << _docKey << "] to URI [" << uri << "] and updated tile cache. Document modified timestamp: " << Poco::DateTimeFormatter::format(Poco::DateTime(_documentLastModifiedTime), Poco::DateTimeFormat::ISO8601_FORMAT)); + lock.unlock(); _saveCV.notify_all(); return true; } @@ -457,6 +461,7 @@ bool DocumentBroker::save(const std::string& sessionId, bool success, const std: it->second->sendTextFrame("error: cmd=storage kind=savefailed"); } + lock.unlock(); _saveCV.notify_all(); return false; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits