Skip to content

Commit acbd60e

Browse files
committed
fix compilation on 6.1 nightly and 6.2
1 parent d9b11b2 commit acbd60e

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

Sources/OpenAPILambdaTransport.swift

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,19 +54,25 @@ public struct OpenAPILambdaTransport: ServerTransport, Sendable {
5454
// call the actor-isolated `router.add()` function from a synchronous context
5555
// because ServerTransport.resgister() is synchronous
5656
let semaphore = DispatchSemaphore(value: 0)
57-
var thrownError: Error? = nil
58-
Task {
57+
let errorBox = Box<Error?>(nil)
58+
59+
Task { @Sendable in
5960
do {
6061
try await self.router.add(method: method, path: path, handler: handler)
6162
}
6263
catch {
63-
thrownError = error
64+
errorBox.value = error
6465
}
6566
semaphore.signal()
6667
}
6768
semaphore.wait()
68-
if let error = thrownError {
69+
if let error = errorBox.value {
6970
throw error
7071
}
7172
}
73+
74+
final class Box<T>: @unchecked Sendable {
75+
var value: T
76+
init(_ value: T) { self.value = value }
77+
}
7278
}

0 commit comments

Comments
 (0)