Skip to content

Commit 748dbce

Browse files
Fix race condition with Client
1 parent 6bc4934 commit 748dbce

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

Sources/Alchemy/Client/Client.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -269,10 +269,11 @@ public final class Client: Service {
269269
let httpClientOverride = req.config.map { HTTPClient(eventLoopGroupProvider: .shared(httpClient.eventLoopGroup), configuration: $0) }
270270
defer { try? httpClientOverride?.syncShutdown() }
271271
let _request = try req._request
272-
let promise = Loop.group.next().makePromise(of: Response.self)
272+
let loop = Loop.group.next()
273+
let promise = loop.makePromise(of: Response.self)
273274
let delegate = ResponseDelegate(request: req, promise: promise, allowStreaming: req.streamResponse)
274275
let client = httpClientOverride ?? httpClient
275-
_ = client.execute(request: _request, delegate: delegate, deadline: deadline, logger: Log.logger)
276+
_ = client.execute(request: _request, delegate: delegate, eventLoop: .delegateAndChannel(on: loop), deadline: deadline, logger: Log.logger)
276277
return try await promise.futureResult.get()
277278
}
278279
}

0 commit comments

Comments
 (0)