aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen van Rijn <Kelimion@users.noreply.github.com>2025-10-13 03:09:09 +0200
committerGitHub <noreply@github.com>2025-10-13 03:09:09 +0200
commit0d7efeab5f2ebd8716912a6731ee7d5d6bae89b6 (patch)
tree025db4089f1d4e43e668eb7e9ce0792eb9217e7b
parentd267891ac9bb5fb9a93ddc5fa5dbf97ef6d721ae (diff)
parent073e043b028fb890da0dd3a7b7d0196847ba0f56 (diff)
Merge pull request #5803 from Kelimion/fix-incidental-hang
Fix hang, courtesy of cloin.
-rw-r--r--src/threading.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/threading.cpp b/src/threading.cpp
index 84f09912d..02e6de14b 100644
--- a/src/threading.cpp
+++ b/src/threading.cpp
@@ -480,6 +480,7 @@ void rwlock_acquire_upgrade(RWSpinLock *l) {
}
void rwlock_release_upgrade(RWSpinLock *l) {
l->bits.fetch_add(-RWLOCK_UPGRADED, std::memory_order_acq_rel);
+ futex_signal(&l->bits);
}
bool rwlock_try_release_upgrade_and_acquire_write(RWSpinLock *l) {