Repository: qpid-cpp
Updated Branches:
  refs/heads/master fcfd6759f -> ccacb5c7e


QPID-8206: Deadlock in InactivityFireEvent cancel() and fire(): propoesed fix 
for deadlock


Project: http://git-wip-us.apache.org/repos/asf/qpid-cpp/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-cpp/commit/ccacb5c7
Tree: http://git-wip-us.apache.org/repos/asf/qpid-cpp/tree/ccacb5c7
Diff: http://git-wip-us.apache.org/repos/asf/qpid-cpp/diff/ccacb5c7

Branch: refs/heads/master
Commit: ccacb5c7eb0ed9b2e4bc4735d3fb0aef332e8d28
Parents: fcfd675
Author: Kim van der Riet <[email protected]>
Authored: Fri Jun 8 10:10:34 2018 -0400
Committer: Kim van der Riet <[email protected]>
Committed: Fri Jun 8 10:10:34 2018 -0400

----------------------------------------------------------------------
 src/qpid/linearstore/JournalImpl.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-cpp/blob/ccacb5c7/src/qpid/linearstore/JournalImpl.cpp
----------------------------------------------------------------------
diff --git a/src/qpid/linearstore/JournalImpl.cpp 
b/src/qpid/linearstore/JournalImpl.cpp
index fe919fb..9c89e12 100644
--- a/src/qpid/linearstore/JournalImpl.cpp
+++ b/src/qpid/linearstore/JournalImpl.cpp
@@ -81,9 +81,11 @@ void InactivityFireEvent::fire() {
 }
 
 void InactivityFireEvent::cancel() {
-    ::qpid::sys::Mutex::ScopedLock sl(_ifeStateLock);
     ::qpid::sys::TimerTask::cancel();
-    _state = CANCELLED;
+    {
+        ::qpid::sys::Mutex::ScopedLock sl(_ifeStateLock);
+        _state = CANCELLED;
+    }
 }
 
 GetEventsFireEvent::GetEventsFireEvent(JournalImpl* p,


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to