diff options
author | Joel Fischer <joeljfischer@gmail.com> | 2021-09-16 14:14:52 -0400 |
---|---|---|
committer | Joel Fischer <joeljfischer@gmail.com> | 2021-09-16 14:14:52 -0400 |
commit | aac36c8edc14a505bc4eb268c76dac97246d664c (patch) | |
tree | 5fde5abbf82c5b4cc6592e7c20bdc3936001ae9b | |
parent | b805c478fed89d9e3403d60153eed5ad60c62276 (diff) | |
download | sdl_ios-bugfix/issue-2033-system-capability-thread-crash.tar.gz |
Fix double syncbugfix/issue-2033-system-capability-thread-crash
-rw-r--r-- | SmartDeviceLink/public/SDLSystemCapabilityManager.m | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/SmartDeviceLink/public/SDLSystemCapabilityManager.m b/SmartDeviceLink/public/SDLSystemCapabilityManager.m index 6cbb87667..9130cd673 100644 --- a/SmartDeviceLink/public/SDLSystemCapabilityManager.m +++ b/SmartDeviceLink/public/SDLSystemCapabilityManager.m @@ -606,17 +606,15 @@ typedef NSString * SDLServiceID; [SDLGlobals runSyncOnSerialSubQueue:self.readWriteQueue block:^{ for (SDLSystemCapabilityType key in self.capabilityObservers.allKeys) { for (SDLSystemCapabilityObserver *observer in self.capabilityObservers[key]) { - [SDLGlobals runSyncOnSerialSubQueue:self.readWriteQueue block:^{ - // If an observer object is nil, remove it - if (observer.observer == nil) { - [self.capabilityObservers[key] removeObject:observer]; - } - - // If we no longer have any observers for that type, remove the array - if (self.capabilityObservers[key].count == 0) { - [self.capabilityObservers removeObjectForKey:key]; - } - }]; + // If an observer object is nil, remove it + if (observer.observer == nil) { + [self.capabilityObservers[key] removeObject:observer]; + } + + // If we no longer have any observers for that type, remove the array + if (self.capabilityObservers[key].count == 0) { + [self.capabilityObservers removeObjectForKey:key]; + } } } |