summaryrefslogtreecommitdiffhomepage
path: root/ios/Operations/AsyncBlockOperation.swift
diff options
context:
space:
mode:
Diffstat (limited to 'ios/Operations/AsyncBlockOperation.swift')
-rw-r--r--ios/Operations/AsyncBlockOperation.swift13
1 files changed, 8 insertions, 5 deletions
diff --git a/ios/Operations/AsyncBlockOperation.swift b/ios/Operations/AsyncBlockOperation.swift
index 062fc528f5..69e52aff0e 100644
--- a/ios/Operations/AsyncBlockOperation.swift
+++ b/ios/Operations/AsyncBlockOperation.swift
@@ -10,11 +10,14 @@ import Foundation
import protocol MullvadTypes.Cancellable
/// Asynchronous block operation
-public class AsyncBlockOperation: AsyncOperation {
- private var executor: ((@escaping (Error?) -> Void) -> Cancellable?)?
+public class AsyncBlockOperation: AsyncOperation, @unchecked Sendable {
+ private var executor: ((@escaping @Sendable (Error?) -> Void) -> Cancellable?)?
private var cancellableTask: Cancellable?
- public init(dispatchQueue: DispatchQueue? = nil, block: @escaping (@escaping (Error?) -> Void) -> Void) {
+ public init(
+ dispatchQueue: DispatchQueue? = nil,
+ block: @escaping @Sendable (@escaping @Sendable (Error?) -> Void) -> Void
+ ) {
super.init(dispatchQueue: dispatchQueue)
executor = { finish in
block(finish)
@@ -22,7 +25,7 @@ public class AsyncBlockOperation: AsyncOperation {
}
}
- public init(dispatchQueue: DispatchQueue? = nil, block: @escaping () -> Void) {
+ public init(dispatchQueue: DispatchQueue? = nil, block: @escaping @Sendable () -> Void) {
super.init(dispatchQueue: dispatchQueue)
executor = { finish in
block()
@@ -33,7 +36,7 @@ public class AsyncBlockOperation: AsyncOperation {
public init(
dispatchQueue: DispatchQueue? = nil,
- cancellableTask: @escaping (@escaping (Error?) -> Void) -> Cancellable
+ cancellableTask: @escaping @Sendable (@escaping @Sendable (Error?) -> Void) -> Cancellable
) {
super.init(dispatchQueue: dispatchQueue)
executor = { cancellableTask($0) }