From efb36aaa993f060834e2628421a358304708a71c Mon Sep 17 00:00:00 2001 From: Mattt Thompson Date: Mon, 20 May 2013 10:49:44 -0700 Subject: [PATCH] Fixing potential deadlock in AFURLConnectionOpeation -setOutputStream: /thanks @aburgel --- AFNetworking/AFURLConnectionOperation.m | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/AFNetworking/AFURLConnectionOperation.m b/AFNetworking/AFURLConnectionOperation.m index e43c490..d173319 100644 --- a/AFNetworking/AFURLConnectionOperation.m +++ b/AFNetworking/AFURLConnectionOperation.m @@ -321,16 +321,14 @@ static inline BOOL AFStateTransitionIsValid(AFOperationState fromState, AFOperat - (void)setOutputStream:(NSOutputStream *)outputStream { [self.lock lock]; - if (outputStream == _outputStream) { - return; + if (outputStream != _outputStream) { + [self willChangeValueForKey:@"outputStream"]; + if (_outputStream) { + [_outputStream close]; + } + _outputStream = outputStream; + [self didChangeValueForKey:@"outputStream"]; } - - [self willChangeValueForKey:@"outputStream"]; - if (_outputStream) { - [_outputStream close]; - } - _outputStream = outputStream; - [self didChangeValueForKey:@"outputStream"]; [self.lock unlock]; }