aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/std/Thread.zig1
-rw-r--r--lib/std/Thread/RwLock.zig6
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/std/Thread.zig b/lib/std/Thread.zig
index 99e2feb4cf..64815bde72 100644
--- a/lib/std/Thread.zig
+++ b/lib/std/Thread.zig
@@ -1438,6 +1438,7 @@ test {
_ = Mutex;
_ = Semaphore;
_ = Condition;
+ _ = RwLock;
}
fn testIncrementNotify(value: *usize, event: *ResetEvent) void {
diff --git a/lib/std/Thread/RwLock.zig b/lib/std/Thread/RwLock.zig
index e78695a1d8..e77db10abb 100644
--- a/lib/std/Thread/RwLock.zig
+++ b/lib/std/Thread/RwLock.zig
@@ -95,7 +95,11 @@ pub const SingleThreadedRwLock = struct {
rwl.shared_count = 1;
return true;
},
- .locked_exclusive, .locked_shared => return false,
+ .locked_shared => {
+ rwl.shared_count += 1;
+ return true;
+ },
+ .locked_exclusive => return false,
}
}