Merge branch 'mkirk/avoid-deadlock-on-unknown-session'

pull/1/head
Michael Kirk 8 years ago
commit 435f13f2ff

@ -337,12 +337,13 @@ NS_ASSUME_NONNULL_BEGIN
int deviceId = messageEnvelope.sourceDevice; int deviceId = messageEnvelope.sourceDevice;
dispatch_async([OWSDispatch sessionStoreQueue], ^{ dispatch_async([OWSDispatch sessionStoreQueue], ^{
if (![storageManager containsSession:recipientId deviceId:deviceId]) { if (![storageManager containsSession:recipientId deviceId:deviceId]) {
__block TSErrorMessage *errorMessage;
[self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) { [self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
TSErrorMessage *errorMessage = errorMessage =
[TSErrorMessage missingSessionWithEnvelope:messageEnvelope withTransaction:transaction]; [TSErrorMessage missingSessionWithEnvelope:messageEnvelope withTransaction:transaction];
[errorMessage saveWithTransaction:transaction]; [errorMessage saveWithTransaction:transaction];
[self notififyForErrorMessage:errorMessage withEnvelope:messageEnvelope];
}]; }];
[self notififyForErrorMessage:errorMessage withEnvelope:messageEnvelope];
DDLogError(@"Skipping message envelope for unknown session."); DDLogError(@"Skipping message envelope for unknown session.");
completion(nil); completion(nil);
return; return;

Loading…
Cancel
Save