refactor(malloc_byte_buffer): std::atomic<bool> -> std::atomic_flag

Fixes gcc build on armv6:

  dwarfs/src/malloc_byte_buffer.cpp:122:36: error: static assertion failed
    122 |   static_assert(std::atomic<bool>::is_always_lock_free);
This commit is contained in:
Marcus Holland-Moritz 2025-08-19 09:54:30 +02:00
parent 4fb7a66139
commit b6408f2cb2

View File

@ -91,7 +91,7 @@ class malloc_byte_buffer_impl : public mutable_byte_buffer_interface {
}
void freeze_location() override {
frozen_.store(true, std::memory_order_release);
frozen_.test_and_set(std::memory_order_release);
}
void append(void const* data, size_t size) override {
@ -115,11 +115,10 @@ class malloc_byte_buffer_impl : public mutable_byte_buffer_interface {
std::string{what});
}
bool frozen() const { return frozen_.load(std::memory_order_acquire); }
bool frozen() const { return frozen_.test(std::memory_order_acquire); }
internal::malloc_buffer data_;
std::atomic<bool> frozen_{false};
static_assert(std::atomic<bool>::is_always_lock_free);
std::atomic_flag frozen_{};
};
} // namespace