Skip to content

Commit c7bdae8

Browse files
authored
Merge pull request #868 from Iterable/feature/recursive-lock-for-dictionary-wrapper
[MOB-10319] Recursive lock for dictionary wrapper for safety reasons
2 parents 3c18793 + 570c4b3 commit c7bdae8

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

swift-sdk/Internal/InAppManager+Functions.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ struct MessagesObtainedHandler {
123123
let addedInboxCount = addedMessages.reduce(0) { $1.saveToInbox ? $0 + 1 : $0 }
124124

125125
var messagesOverwritten = 0
126-
var newMessagesMap = ThreadSafeOrderedDictionary<String, IterableInAppMessage>()
126+
let newMessagesMap = ThreadSafeOrderedDictionary<String, IterableInAppMessage>()
127127
messages.forEach { serverMessage in
128128
let messageId = serverMessage.messageId
129129
if let existingMessage = messagesMap[messageId] {

swift-sdk/Internal/ThreadSafeOrderedDictionary.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import Foundation
1010

1111
public final class ThreadSafeOrderedDictionary<K: Hashable, V> {
1212
private var orderedDictionary = OrderedDictionary<K, V>()
13-
private let lock = NSLock()
13+
private let lock = NSRecursiveLock()
1414

1515
public var keys: [K] {
1616
lock.withLock {

0 commit comments

Comments
 (0)