From b6cca02c7e0a223814ec45f1a6114983b2fa3c74 Mon Sep 17 00:00:00 2001 From: MahdiBM Date: Sat, 20 Dec 2025 22:41:30 +0330 Subject: [PATCH] Make `ConnectionPoolModule` compatible with Android (& Windows & more?) --- Sources/ConnectionPoolModule/NIOLock.swift | 8 ++++---- .../ConnectionPoolModule/PoolStateMachine.swift | 15 +++++++++++++-- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Sources/ConnectionPoolModule/NIOLock.swift b/Sources/ConnectionPoolModule/NIOLock.swift index b6cd7164..7a7f3e50 100644 --- a/Sources/ConnectionPoolModule/NIOLock.swift +++ b/Sources/ConnectionPoolModule/NIOLock.swift @@ -21,13 +21,13 @@ import Darwin import ucrt import WinSDK #elseif canImport(Glibc) -import Glibc +@preconcurrency import Glibc #elseif canImport(Musl) -import Musl +@preconcurrency import Musl #elseif canImport(Bionic) -import Bionic +@preconcurrency import Bionic #elseif canImport(WASILibc) -import WASILibc +@preconcurrency import WASILibc #if canImport(wasi_pthread) import wasi_pthread #endif diff --git a/Sources/ConnectionPoolModule/PoolStateMachine.swift b/Sources/ConnectionPoolModule/PoolStateMachine.swift index 044fa85f..b99bdfdf 100644 --- a/Sources/ConnectionPoolModule/PoolStateMachine.swift +++ b/Sources/ConnectionPoolModule/PoolStateMachine.swift @@ -1,9 +1,20 @@ #if canImport(Darwin) import Darwin +#elseif os(Windows) +import ucrt #elseif canImport(Glibc) -import Glibc +@preconcurrency import Glibc #elseif canImport(Musl) -import Musl +@preconcurrency import Musl +#elseif canImport(Bionic) +@preconcurrency import Bionic +#elseif canImport(WASILibc) +@preconcurrency import WASILibc +#if canImport(wasi_pthread) +import wasi_pthread +#endif +#else +#error("The PoolStateMachine module was unable to identify your C library.") #endif @usableFromInline