Merge "Don't fork USAPs with open argument buffer" am: 6c61c65f19 am: 7644e0c5b7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1651247 Change-Id: I3d26e93f5a85943f6d3cf2371d1079213c36089d
This commit is contained in:
@@ -149,8 +149,11 @@ class ZygoteConnection {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (parsedArgs.mUsapPoolStatusSpecified) {
|
||||
// Handle this once we've released the argBuffer, to avoid opening a second one.
|
||||
if (parsedArgs.mUsapPoolStatusSpecified
|
||||
|| parsedArgs.mApiDenylistExemptions != null
|
||||
|| parsedArgs.mHiddenApiAccessLogSampleRate != -1
|
||||
|| parsedArgs.mHiddenApiAccessStatslogSampleRate != -1) {
|
||||
// Handle these once we've released argBuffer, to avoid opening a second one.
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -183,18 +186,6 @@ class ZygoteConnection {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (parsedArgs.mApiDenylistExemptions != null) {
|
||||
return handleApiDenylistExemptions(zygoteServer,
|
||||
parsedArgs.mApiDenylistExemptions);
|
||||
}
|
||||
|
||||
if (parsedArgs.mHiddenApiAccessLogSampleRate != -1
|
||||
|| parsedArgs.mHiddenApiAccessStatslogSampleRate != -1) {
|
||||
return handleHiddenApiAccessLogSampleRate(zygoteServer,
|
||||
parsedArgs.mHiddenApiAccessLogSampleRate,
|
||||
parsedArgs.mHiddenApiAccessStatslogSampleRate);
|
||||
}
|
||||
|
||||
if (parsedArgs.mPermittedCapabilities != 0
|
||||
|| parsedArgs.mEffectiveCapabilities != 0) {
|
||||
throw new ZygoteSecurityException("Client may not specify capabilities: "
|
||||
@@ -311,10 +302,20 @@ class ZygoteConnection {
|
||||
}
|
||||
}
|
||||
}
|
||||
// Handle anything that may need a ZygoteCommandBuffer after we've released ours.
|
||||
if (parsedArgs.mUsapPoolStatusSpecified) {
|
||||
// Now that we've released argBuffer:
|
||||
return handleUsapPoolStatusChange(zygoteServer, parsedArgs.mUsapPoolEnabled);
|
||||
}
|
||||
if (parsedArgs.mApiDenylistExemptions != null) {
|
||||
return handleApiDenylistExemptions(zygoteServer,
|
||||
parsedArgs.mApiDenylistExemptions);
|
||||
}
|
||||
if (parsedArgs.mHiddenApiAccessLogSampleRate != -1
|
||||
|| parsedArgs.mHiddenApiAccessStatslogSampleRate != -1) {
|
||||
return handleHiddenApiAccessLogSampleRate(zygoteServer,
|
||||
parsedArgs.mHiddenApiAccessLogSampleRate,
|
||||
parsedArgs.mHiddenApiAccessStatslogSampleRate);
|
||||
}
|
||||
throw new AssertionError("Shouldn't get here");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user