diff --git a/lib/std/Thread.zig b/lib/std/Thread.zig index 99e2feb4cf432d7fb323b62412e810a7b932d9a9..64815bde722f78b444cd032790c5b770d9c23ed4 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 e78695a1d8288a5de85a481d1ab7e630e1bb3738..e77db10abb3bb00d6eec4825dbc541ad2c4f680b 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, } }