Permalink
Browse files

NetInfo: try to solve crash with releasing _firstTimeReachability

Summary:
@public
We're seeing a crash on line 191 when we do `CFRelease(self->_firstTimeReachability);`. My thinking is that there's a race condition between the deallocation coming from calling `getCurrentConnectivity` twice in a row and the callback coming back.

Reviewed By: PeteTheHeat

Differential Revision: D12982772

fbshipit-source-id: d3d882a074b67a5e547e7f480f561fcaf8d79ec4
  • Loading branch information...
mmmulani authored and facebook-github-bot committed Nov 12, 2018
1 parent c787866 commit eebc8e230a9f72c3dde34a5cfd59bbffba55e53d
Showing with 7 additions and 0 deletions.
  1. +7 −0 Libraries/Network/RCTNetInfo.m
@@ -69,6 +69,13 @@ static void RCTReachabilityCallback(__unused SCNetworkReachabilityRef target, SC
}
}

// We need RCTReachabilityCallback's and module methods to be called on the same thread so that we can have
// guarantees about when we mess with the reachability callbacks.
- (dispatch_queue_t)methodQueue
{
return dispatch_get_main_queue();
}

#pragma mark - Lifecycle

- (instancetype)initWithHost:(NSString *)host

0 comments on commit eebc8e2

Please sign in to comment.