Skip to content

Commit 70d92cc

Browse files
committed
up mm
1 parent e638302 commit 70d92cc

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/components/sync/queue_spinlock.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,20 @@ class QueueSpinLock final {
1414
public:
1515
explicit Guard(QueueSpinLock& host) : host(host) { host.Acquire(this); }
1616
~Guard() {
17-
if (is_owner) Release();
17+
if (is_owner.load()) Release();
1818
}
1919

2020
void Release() {
2121
host.Release(this);
22-
is_owner.store(false);
22+
is_owner.store(false, std::memory_order_release);
2323
}
2424

25-
void SetOwner() { is_owner.store(true, std::memory_order_acquire); }
25+
void SetOwner() { is_owner.store(true, std::memory_order_release); }
2626

2727
void SetNext(Guard* guard) { next.store(guard); }
2828

2929
bool IsOwner() const {
30-
return is_owner.load(std::memory_order_release);
30+
return is_owner.load(std::memory_order_acquire);
3131
}
3232

3333
bool HasNext() const { return next.load() != nullptr; }

0 commit comments

Comments
 (0)