mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-17 08:18:07 -04:00
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:
parent
4fb7a66139
commit
b6408f2cb2
@ -91,7 +91,7 @@ class malloc_byte_buffer_impl : public mutable_byte_buffer_interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void freeze_location() override {
|
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 {
|
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});
|
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_;
|
internal::malloc_buffer data_;
|
||||||
std::atomic<bool> frozen_{false};
|
std::atomic_flag frozen_{};
|
||||||
static_assert(std::atomic<bool>::is_always_lock_free);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
Loading…
x
Reference in New Issue
Block a user