From b25a2d573ac9e7594b5235c81c9f4bc002c7727f Mon Sep 17 00:00:00 2001 From: Mahdi Ali-Raihan Date: Sat, 21 Mar 2026 13:43:22 -0400 Subject: [PATCH] Prevent no_threads RwLock's write() impl from setting mode to -1 when it is locked for reading --- library/std/src/sys/sync/rwlock/no_threads.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/library/std/src/sys/sync/rwlock/no_threads.rs b/library/std/src/sys/sync/rwlock/no_threads.rs index 573d0d602dbd6..6b919bde80bb5 100644 --- a/library/std/src/sys/sync/rwlock/no_threads.rs +++ b/library/std/src/sys/sync/rwlock/no_threads.rs @@ -37,8 +37,10 @@ impl RwLock { #[inline] pub fn write(&self) { - if self.mode.replace(-1) != 0 { - rtabort!("rwlock locked for reading") + if self.mode.get() == 0 { + self.mode.set(-1); + } else { + rtabort!("rwlock locked for reading"); } }