diff options
author | Narayan Kamath <narayan@google.com> | 2015-02-19 20:27:11 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-02-19 20:27:11 +0000 |
commit | 01b50bb06b5cdeef57d7d69870402fb893a70dea (patch) | |
tree | c723abc260270e2b15ac2e15d6d1fc69d0bffd9d /core/java/com | |
parent | ec3f3cdfb23a2a2fc639fd8f5277fc58a490622e (diff) | |
parent | 907bcd96d7f54adaf3b3df6f476e09c636c646cf (diff) | |
download | frameworks_base-01b50bb06b5cdeef57d7d69870402fb893a70dea.zip frameworks_base-01b50bb06b5cdeef57d7d69870402fb893a70dea.tar.gz frameworks_base-01b50bb06b5cdeef57d7d69870402fb893a70dea.tar.bz2 |
am 907bcd96: am 644ebc88: am 0a7936b7: Merge "Fix a couple of issues with system_server forking."
* commit '907bcd96d7f54adaf3b3df6f476e09c636c646cf':
Fix a couple of issues with system_server forking.
Diffstat (limited to 'core/java/com')
-rw-r--r-- | core/java/com/android/internal/os/ZygoteConnection.java | 20 | ||||
-rw-r--r-- | core/java/com/android/internal/os/ZygoteInit.java | 2 |
2 files changed, 13 insertions, 9 deletions
diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java index c9b44be..a55fe9a 100644 --- a/core/java/com/android/internal/os/ZygoteConnection.java +++ b/core/java/com/android/internal/os/ZygoteConnection.java @@ -399,7 +399,7 @@ class ZygoteConnection { throws IllegalArgumentException { int curArg = 0; - boolean seenRuntimeArgs = true; + boolean seenRuntimeArgs = false; for ( /* curArg */ ; curArg < args.length; curArg++) { String arg = args[curArg]; @@ -533,14 +533,18 @@ class ZygoteConnection { } } - if (!seenRuntimeArgs) { - throw new IllegalArgumentException("Unexpected argument : " + args[curArg]); - } - - remainingArgs = new String[args.length - curArg]; + if (abiListQuery) { + if (args.length - curArg > 0) { + throw new IllegalArgumentException("Unexpected arguments after --query-abi-list."); + } + } else { + if (!seenRuntimeArgs) { + throw new IllegalArgumentException("Unexpected argument : " + args[curArg]); + } - System.arraycopy(args, curArg, remainingArgs, 0, - remainingArgs.length); + remainingArgs = new String[args.length - curArg]; + System.arraycopy(args, curArg, remainingArgs, 0, remainingArgs.length); + } } } diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index 035b017..400ea37 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -504,8 +504,8 @@ public class ZygoteInit { "--setgid=1000", "--setgroups=1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1018,1032,3001,3002,3003,3006,3007", "--capabilities=" + capabilities + "," + capabilities, - "--runtime-init", "--nice-name=system_server", + "--runtime-args", "com.android.server.SystemServer", }; ZygoteConnection.Arguments parsedArgs = null; |