Fix race when starting NetworkMonitor
NetworkMonitor obtained LinkProperties and NetworkCapabilities via synchronous calls to ConnectivityManager after receiving an asynchronous notification, which is prone to races: the network could be gone before the LinkProperties/NetworkCapabilities can be fetched. Fix the race by passing LinkProperties/NetworkCapabilities directly to NetworkMonitor in the asynchronous notifications. Test: atest FrameworksNetTests NetworkStackTests Test: booted, WiFi works Bug: 129375892 Change-Id: I200ac7ca6ff79590b11c9be705f650c92fd3cb63
This commit is contained in:
@@ -496,7 +496,7 @@ public class ConnectivityServiceTest {
|
||||
};
|
||||
|
||||
try {
|
||||
doAnswer(validateAnswer).when(mNetworkMonitor).notifyNetworkConnected();
|
||||
doAnswer(validateAnswer).when(mNetworkMonitor).notifyNetworkConnected(any(), any());
|
||||
doAnswer(validateAnswer).when(mNetworkMonitor).forceReevaluation(anyInt());
|
||||
} catch (RemoteException e) {
|
||||
fail(e.getMessage());
|
||||
|
||||
Reference in New Issue
Block a user