Respond to CR.

// FREEBIE
pull/1/head
Matthew Chen 8 years ago
parent d80e42e0a0
commit 5d7c012b5c

@ -195,12 +195,7 @@ NSUInteger const OWSSendMessageOperationMaxRetries = 4;
DDLogDebug(@"%@ succeeded.", strongSelf.tag); DDLogDebug(@"%@ succeeded.", strongSelf.tag);
aSuccessHandler(); aSuccessHandler();
// Ensure we call the success or failure handler exactly once. [strongSelf markAsComplete];
@synchronized(strongSelf)
{
OWSCAssert(strongSelf.operationState != OWSSendMessageOperationStateFinished);
[strongSelf markAsComplete];
}
}; };
_failureHandler = ^(NSError *_Nonnull error) { _failureHandler = ^(NSError *_Nonnull error) {
@ -215,12 +210,7 @@ NSUInteger const OWSSendMessageOperationMaxRetries = 4;
DDLogDebug(@"%@ failed with error: %@", strongSelf.tag, error); DDLogDebug(@"%@ failed with error: %@", strongSelf.tag, error);
aFailureHandler(error); aFailureHandler(error);
// Ensure we call the success or failure handler exactly once. [strongSelf markAsComplete];
@synchronized(strongSelf)
{
OWSCAssert(strongSelf.operationState != OWSSendMessageOperationStateFinished);
[strongSelf markAsComplete];
}
}; };
return self; return self;
@ -330,7 +320,15 @@ NSUInteger const OWSSendMessageOperationMaxRetries = 4;
{ {
[self willChangeValueForKey:OWSSendMessageOperationKeyIsExecuting]; [self willChangeValueForKey:OWSSendMessageOperationKeyIsExecuting];
[self willChangeValueForKey:OWSSendMessageOperationKeyIsFinished]; [self willChangeValueForKey:OWSSendMessageOperationKeyIsFinished];
self.operationState = OWSSendMessageOperationStateFinished;
// Ensure we call the success or failure handler exactly once.
@synchronized(self)
{
OWSAssert(self.operationState != OWSSendMessageOperationStateFinished);
self.operationState = OWSSendMessageOperationStateFinished;
}
[self didChangeValueForKey:OWSSendMessageOperationKeyIsExecuting]; [self didChangeValueForKey:OWSSendMessageOperationKeyIsExecuting];
[self didChangeValueForKey:OWSSendMessageOperationKeyIsFinished]; [self didChangeValueForKey:OWSSendMessageOperationKeyIsFinished];

Loading…
Cancel
Save