mirror of
https://github.com/zhigang1992/RestKit.git
synced 2026-04-23 20:31:13 +08:00
Fix retain cycle causing leak for backgroundPolicy RKRequestBackgroundPolicyContinue. closes #548
This commit is contained in:
@@ -502,14 +502,16 @@ RKRequestMethod RKRequestMethodTypeFromName(NSString *methodName) {
|
||||
RKLogInfo(@"Beginning background task to perform processing...");
|
||||
|
||||
// Fork a background task for continueing a long-running request
|
||||
__block RKRequest* weakSelf = self;
|
||||
__block id<RKRequestDelegate> weakDelegate = _delegate;
|
||||
_backgroundTaskIdentifier = [app beginBackgroundTaskWithExpirationHandler:^{
|
||||
RKLogInfo(@"Background request time expired, canceling request.");
|
||||
|
||||
[self cancelAndInformDelegate:NO];
|
||||
[self cleanupBackgroundTask];
|
||||
[weakSelf cancelAndInformDelegate:NO];
|
||||
[weakSelf cleanupBackgroundTask];
|
||||
|
||||
if ([_delegate respondsToSelector:@selector(requestDidTimeout:)]) {
|
||||
[_delegate requestDidTimeout:self];
|
||||
if ([weakDelegate respondsToSelector:@selector(requestDidTimeout:)]) {
|
||||
[weakDelegate requestDidTimeout:weakSelf];
|
||||
}
|
||||
}];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user