Extract sockets invalidation to the separate method

This commit is contained in:
Sergey Abramchuk 2020-06-09 19:29:59 +03:00
parent baba768941
commit abe0870828
2 changed files with 15 additions and 5 deletions

View File

@ -21,6 +21,8 @@ NS_ASSUME_NONNULL_BEGIN
- (instancetype)initWithPacketFlow:(id<OpenVPNAdapterPacketFlow>)packetFlow NS_DESIGNATED_INITIALIZER;
- (BOOL)configureSocketsWithError:(NSError **)error;
- (void)invalidateSocketsIfNeeded;
- (void)startReading;
@end

View File

@ -131,6 +131,18 @@ static void SocketCallback(CFSocketRef socket, CFSocketCallBackType type, CFData
return YES;
}
- (void)invalidateSocketsIfNeeded {
if (_openVPNSocket) {
CFSocketInvalidate(_openVPNSocket);
CFRelease(_openVPNSocket);
}
if (_packetFlowSocket) {
CFSocketInvalidate(_packetFlowSocket);
CFRelease(_packetFlowSocket);
}
}
- (void)startReading {
__weak typeof(self) weakSelf = self;
@ -170,11 +182,7 @@ static void SocketCallback(CFSocketRef socket, CFSocketCallBackType type, CFData
#pragma mark -
- (void)dealloc {
CFSocketInvalidate(_openVPNSocket);
CFRelease(_openVPNSocket);
CFSocketInvalidate(_packetFlowSocket);
CFRelease(_packetFlowSocket);
[self invalidateSocketsIfNeeded];
}
@end