File tree Expand file tree Collapse file tree 2 files changed +7
-7
lines changed Expand file tree Collapse file tree 2 files changed +7
-7
lines changed Original file line number Diff line number Diff line change 8
8
//
9
9
10
10
import CoreFoundation
11
+ @_exported import Dispatch
11
12
12
13
/// The `NSObjectProtocol` groups methods that are fundamental to all Foundation objects.
13
14
///
Original file line number Diff line number Diff line change @@ -198,6 +198,7 @@ open class URLSession : NSObject {
198
198
/// - Note: It's a **concurrent** queue.
199
199
internal let taskAttributesIsolation : DispatchQueue
200
200
internal let taskRegistry = URLSession . _TaskRegistry ( )
201
+ fileprivate let identiferLock = NSLock ( )
201
202
fileprivate let identifier : Int32
202
203
fileprivate var invalidated = false
203
204
fileprivate static let registerProtocols : ( ) = {
@@ -405,14 +406,12 @@ extension URLSession._Request {
405
406
}
406
407
407
408
fileprivate extension URLSession {
408
- static let identiferLock = NSLock ( )
409
-
410
409
func createNextTaskIdentifier( ) -> Int {
411
- URLSession . identiferLock. lock ( )
412
- let i = nextTaskIdentifier
413
- nextTaskIdentifier += 1
414
- URLSession . identiferLock . unlock ( )
415
- return i
410
+ return identiferLock. synchronized {
411
+ let i = nextTaskIdentifier
412
+ nextTaskIdentifier += 1
413
+ return i
414
+ }
416
415
}
417
416
}
418
417
You can’t perform that action at this time.
0 commit comments