8000 Fix double locking of mutex of condition variable. · lethalbrains/arangodb@7ed306c · GitHub
[go: up one dir, main page]

Skip to content

Commit 7ed306c

Browse files
committed
Fix double locking of mutex of condition variable.
1 parent b37d8ff commit 7ed306c

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

arangod/Cluster/AgencyCallback.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,10 +137,12 @@ void AgencyCallback::executeByCallbackOrTimeout(double maxTimeout) {
137137
compareBuilder = _lastData;
138138
}
139139

140-
CONDITION_LOCKER(locker, _cv);
141-
_useCv = true;
142-
locker.wait(static_cast<uint64_t>(maxTimeout * 1000000.0));
143-
_useCv = false;
140+
{
141+
CONDITION_LOCKER(locker, _cv);
142+
_useCv = true;
143+
locker.wait(static_cast<uint64_t>(maxTimeout * 1000000.0));
144+
_useCv = false;
145+
}
144146

145147
if (!_lastData || _lastData->slice().equals(compareBuilder->slice())) {
146148
LOG(DEBUG) << "Waiting done and nothing happended. Refetching to be sure";

0 commit comments

Comments
 (0)
0