Skip to content

Commit 37a4962

Browse files
Merge pull request #846 from unodb-dev/qsbr-main-thread-noexcept
fix: suppress bugprone-exception-escape on QSBR main thread constructor
2 parents 0f1914b + 3d72cfd commit 37a4962

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

qsbr.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ struct set_qsbr_per_thread_in_main_thread {
4545
/// runs. This ensures the main thread starts out participating in QSBR.
4646
///
4747
/// \note Fails fatally if unable to allocate the QSBR instance.
48+
// NOLINTNEXTLINE(bugprone-exception-escape)
4849
set_qsbr_per_thread_in_main_thread() noexcept {
4950
try {
5051
auto main_thread_qsbr_reclamator_instance =
@@ -96,6 +97,7 @@ thread_local std::unique_ptr<qsbr_per_thread>
9697
// LCOV_EXCL_STOP
9798

9899
[[nodiscard]] qsbr_state::type
100+
// NOLINTNEXTLINE(bugprone-exception-escape)
99101
qsbr_state::atomic_fetch_dec_threads_in_previous_epoch(
100102
std::atomic<qsbr_state::type>& word) noexcept {
101103
const auto old_word = word.fetch_sub(1, std::memory_order_acq_rel);
@@ -212,6 +214,7 @@ void free_orphan_list(detail::dealloc_vector_list_node* list) noexcept {
212214

213215
} // namespace
214216

217+
// NOLINTNEXTLINE(bugprone-exception-escape)
215218
void qsbr_per_thread::orphan_pending_requests() noexcept {
216219
add_to_orphan_list(
217220
qsbr::instance().orphaned_previous_interval_dealloc_requests,
@@ -232,6 +235,7 @@ void qsbr_per_thread::orphan_pending_requests() noexcept {
232235
}
233236

234237
UNODB_DETAIL_DISABLE_CLANG_21_WARNING("-Wnrvo")
238+
// NOLINTNEXTLINE(bugprone-exception-escape)
235239
qsbr_epoch qsbr::register_thread() noexcept {
236240
auto old_state = get_state();
237241

@@ -417,6 +421,7 @@ void qsbr::thread_epoch_change_barrier() noexcept {
417421
#endif
418422
}
419423

424+
// NOLINTNEXTLINE(bugprone-exception-escape)
420425
qsbr_epoch qsbr::remove_thread_from_previous_epoch(
421426
qsbr_epoch current_global_epoch
422427
#ifndef NDEBUG
@@ -498,6 +503,7 @@ void qsbr::epoch_change_barrier_and_handle_orphans(
498503
}
499504
}
500505

506+
// NOLINTNEXTLINE(bugprone-exception-escape)
501507
qsbr_epoch qsbr::change_epoch(qsbr_epoch current_global_epoch,
502508
bool single_thread_mode) noexcept {
503509
epoch_change_barrier_and_handle_orphans(single_thread_mode);

0 commit comments

Comments
 (0)