diff options
| -rw-r--r-- | core/java/com/android/internal/os/ZygoteConnection.java | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java index 1673362028f9..993e4e7b4b3d 100644 --- a/core/java/com/android/internal/os/ZygoteConnection.java +++ b/core/java/com/android/internal/os/ZygoteConnection.java @@ -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"); } |