Skip to content

Commit

Permalink
Merge pull request #50 from fotonauts/better-fix
Browse files Browse the repository at this point in the history
real way to solve the retain release problem
  • Loading branch information
lukhnos committed Sep 16, 2013
2 parents 5fe98fb + 30012b7 commit c80643c
Showing 1 changed file with 3 additions and 6 deletions.
9 changes: 3 additions & 6 deletions LFWebAPIKit/LFHTTPRequest.m
Original file line number Diff line number Diff line change
Expand Up @@ -211,9 +211,6 @@ - (void)readStreamHasBytesAvailable
}

if (!_receivedDataTracker) {
// self can be retained only by the timer (_requestMessageBodyTracker) so self can be deallocated while calling [_requestMessageBodyTracker invalidate]
// to avoid this problem:
[[self retain] autorelease];

// update one last time the total sent bytes
if ([_delegate respondsToSelector:@selector(httpRequest:sentBytes:total:)]) {
Expand Down Expand Up @@ -520,8 +517,8 @@ - (BOOL)_performMethod:(NSString *)methodName onURL:(NSURL *)url withData:(NSDat
CFStreamClientContext streamContext;
streamContext.version = 0;
streamContext.info = self;
streamContext.retain = 0;
streamContext.release = 0;
streamContext.retain = (void *(*)(void *info))CFRetain;
streamContext.release = (void (*)(void *info))CFRelease;
streamContext.copyDescription = 0;

CFOptionFlags eventFlags = kCFStreamEventHasBytesAvailable | kCFStreamEventEndEncountered | kCFStreamEventErrorOccurred;
Expand Down Expand Up @@ -763,7 +760,7 @@ - (void)setShouldWaitUntilDone:(BOOL)waitUntilDone
void LFHRReadStreamClientCallBack(CFReadStreamRef stream, CFStreamEventType eventType, void *clientCallBackInfo)
{
id pool = [NSAutoreleasePool new];

LFHTTPRequest *request = (LFHTTPRequest *)clientCallBackInfo;
switch (eventType) {
case kCFStreamEventHasBytesAvailable:
Expand Down

0 comments on commit c80643c

Please sign in to comment.