Browse Source

Merge pull request #5721

cf008ac Acquire CCheckQueue's lock to avoid race condition (Suhas Daftuar)
0.13
Wladimir J. van der Laan 10 years ago
parent
commit
fb6140b54b
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6
  1. 12
      src/checkqueue.h

12
src/checkqueue.h

@ -161,7 +161,12 @@ public:
{ {
} }
friend class CCheckQueueControl<T>; bool IsIdle()
{
boost::unique_lock<boost::mutex> lock(mutex);
return (nTotal == nIdle && nTodo == 0 && fAllOk == true);
}
}; };
/** /**
@ -180,9 +185,8 @@ public:
{ {
// passed queue is supposed to be unused, or NULL // passed queue is supposed to be unused, or NULL
if (pqueue != NULL) { if (pqueue != NULL) {
assert(pqueue->nTotal == pqueue->nIdle); bool isIdle = pqueue->IsIdle();
assert(pqueue->nTodo == 0); assert(isIdle);
assert(pqueue->fAllOk == true);
} }
} }

Loading…
Cancel
Save