aboutsummaryrefslogtreecommitdiff
path: root/src/checkqueue.h
diff options
context:
space:
mode:
authorHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2021-10-30 19:33:09 +0300
committerHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2021-11-03 11:26:57 +0200
commit459e208276a4d1457d37bf41c977e62caf05456d (patch)
tree3d4eb0575ba49f171164a907fd5d8eef04c45ee9 /src/checkqueue.h
parentc43aa623435a277a692dbde784e8a7146f5573e9 (diff)
Exit early for an empty vChecks in CCheckQueue::Add
Diffstat (limited to 'src/checkqueue.h')
-rw-r--r--src/checkqueue.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/checkqueue.h b/src/checkqueue.h
index d926326a95..760dfbddc1 100644
--- a/src/checkqueue.h
+++ b/src/checkqueue.h
@@ -167,6 +167,10 @@ public:
//! Add a batch of checks to the queue
void Add(std::vector<T>& vChecks)
{
+ if (vChecks.empty()) {
+ return;
+ }
+
{
LOCK(m_mutex);
for (T& check : vChecks) {
@@ -176,10 +180,11 @@ public:
nTodo += vChecks.size();
}
- if (vChecks.size() == 1)
+ if (vChecks.size() == 1) {
m_worker_cv.notify_one();
- else if (vChecks.size() > 1)
+ } else {
m_worker_cv.notify_all();
+ }
}
//! Stop all of the worker threads.