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]
