Fix concurrency warnings in DownloadSession.

This commit is contained in:
Brent Simmons 2024-04-06 18:36:34 -07:00
parent 5f82750679
commit c666028f0b

View File

@ -121,8 +121,9 @@ extension DownloadSession: URLSessionTaskDelegate {
extension DownloadSession: URLSessionDataDelegate {
public func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse, completionHandler: @escaping (URLSession.ResponseDisposition) -> Void) {
nonisolated public func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse, completionHandler: @escaping (URLSession.ResponseDisposition) -> Void) {
MainActor.assumeIsolated {
tasksInProgress.insert(dataTask)
tasksPending.remove(dataTask)
@ -158,9 +159,11 @@ extension DownloadSession: URLSessionDataDelegate {
completionHandler(.allow)
}
}
public func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) {
nonisolated public func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) {
MainActor.assumeIsolated {
guard let info = infoForTask(dataTask) else {
return
}
@ -173,6 +176,7 @@ extension DownloadSession: URLSessionDataDelegate {
removeTask(dataTask)
}
}
}
}