@@ -46,17 +46,19 @@ package struct LockedState<State> {
4646 fileprivate static func initialize( _ platformLock: PlatformLock ) {
4747#if canImport(os)
4848 platformLock. initialize ( to: os_unfair_lock ( ) )
49- #elseif canImport(Bionic) || canImport(Glibc)
49+ #elseif canImport(Bionic) || canImport(Glibc) || canImport(Musl)
5050 pthread_mutex_init ( platformLock, nil )
5151#elseif canImport(WinSDK)
5252 InitializeSRWLock ( platformLock)
5353#elseif os(WASI)
5454 // no-op
55+ #else
56+ #error("LockedState._Lock.initialize is unimplemented on this platform")
5557#endif
5658 }
5759
5860 fileprivate static func deinitialize( _ platformLock: PlatformLock ) {
59- #if canImport(Bionic) || canImport(Glibc)
61+ #if canImport(Bionic) || canImport(Glibc) || canImport(Musl)
6062 pthread_mutex_destroy ( platformLock)
6163#endif
6264 platformLock. deinitialize ( count: 1 )
@@ -65,24 +67,28 @@ package struct LockedState<State> {
6567 static fileprivate func lock( _ platformLock: PlatformLock ) {
6668#if canImport(os)
6769 os_unfair_lock_lock ( platformLock)
68- #elseif canImport(Bionic) || canImport(Glibc)
70+ #elseif canImport(Bionic) || canImport(Glibc) || canImport(Musl)
6971 pthread_mutex_lock ( platformLock)
7072#elseif canImport(WinSDK)
7173 AcquireSRWLockExclusive ( platformLock)
7274#elseif os(WASI)
7375 // no-op
76+ #else
77+ #error("LockedState._Lock.lock is unimplemented on this platform")
7478#endif
7579 }
7680
7781 static fileprivate func unlock( _ platformLock: PlatformLock ) {
7882#if canImport(os)
7983 os_unfair_lock_unlock ( platformLock)
80- #elseif canImport(Bionic) || canImport(Glibc)
84+ #elseif canImport(Bionic) || canImport(Glibc) || canImport(Musl)
8185 pthread_mutex_unlock ( platformLock)
8286#elseif canImport(WinSDK)
8387 ReleaseSRWLockExclusive ( platformLock)
8488#elseif os(WASI)
8589 // no-op
90+ #else
91+ #error("LockedState._Lock.unlock is unimplemented on this platform")
8692#endif
8793 }
8894 }
0 commit comments