diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2022-04-20 12:07:33 +0200 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2022-04-29 10:30:25 +0200 |
| commit | a4d63156fddf7f79570a435deb5d129ec8956f77 (patch) | |
| tree | 9f76e4e6b6eba7f0041be84584e49a7c0ffe65e8 | |
| parent | f658aa645b816f31a98590638899a86467f2a8b7 (diff) | |
| download | mullvadvpn-a4d63156fddf7f79570a435deb5d129ec8956f77.tar.xz mullvadvpn-a4d63156fddf7f79570a435deb5d129ec8956f77.zip | |
AsyncBlockOperation: reset execution block in finish()
| -rw-r--r-- | ios/MullvadVPN/Operations/AsyncBlockOperation.swift | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ios/MullvadVPN/Operations/AsyncBlockOperation.swift b/ios/MullvadVPN/Operations/AsyncBlockOperation.swift index 66a6d2aa0b..d88e5a5ec7 100644 --- a/ios/MullvadVPN/Operations/AsyncBlockOperation.swift +++ b/ios/MullvadVPN/Operations/AsyncBlockOperation.swift @@ -20,13 +20,18 @@ class AsyncBlockOperation: AsyncOperation { } override func main() { - executionBlock?(self) + stateLock.lock() + let block = executionBlock executionBlock = nil + stateLock.unlock() + + block?(self) } override func finish() { stateLock.lock() cancellationBlocks.removeAll() + executionBlock = nil stateLock.unlock() super.finish() @@ -56,3 +61,4 @@ class AsyncBlockOperation: AsyncOperation { } } } + |
