aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorglozow <gloriajzhao@gmail.com>2022-10-13 14:37:56 -0400
committerglozow <gloriajzhao@gmail.com>2022-10-13 14:42:59 -0400
commitcbb2da8fcf0c81453695c4ec8ce6c467e6a5c8ba (patch)
tree9cf5a99551e1448fbd1bc59fa12f5e64e8cf4e5a
parent0384b194149305ffc8580ad6947e0471a36446ff (diff)
add lock annotation for FeeFilterRounder::round()
Calling WITH_LOCK() on a non-recursive mutex requires not holding it beforehand. Co-authored-by: Niklas Gögge <n.goeggi@gmail.com>
-rw-r--r--src/policy/fees.cpp1
-rw-r--r--src/policy/fees.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/policy/fees.cpp b/src/policy/fees.cpp
index 98b4bdef9b..ab5599a1b4 100644
--- a/src/policy/fees.cpp
+++ b/src/policy/fees.cpp
@@ -1036,6 +1036,7 @@ FeeFilterRounder::FeeFilterRounder(const CFeeRate& minIncrementalFee)
CAmount FeeFilterRounder::round(CAmount currentMinFee)
{
+ AssertLockNotHeld(m_insecure_rand_mutex);
std::set<double>::iterator it = m_fee_set.lower_bound(currentMinFee);
if (it == m_fee_set.end() ||
(it != m_fee_set.begin() &&
diff --git a/src/policy/fees.h b/src/policy/fees.h
index c345546895..204c4f2118 100644
--- a/src/policy/fees.h
+++ b/src/policy/fees.h
@@ -302,7 +302,7 @@ public:
explicit FeeFilterRounder(const CFeeRate& min_incremental_fee);
/** Quantize a minimum fee for privacy purpose before broadcast. */
- CAmount round(CAmount currentMinFee);
+ CAmount round(CAmount currentMinFee) EXCLUSIVE_LOCKS_REQUIRED(!m_insecure_rand_mutex);
private:
const std::set<double> m_fee_set;