ZygoteInit: more dead code cleanup

ZYGOTE_FORK_MODE has been set to false since 2009, and the
code indicates that runForkMode() was "retained for reference only."
Remove this dead code. There will always be a reference to this code
in git.

Change-Id: Iddfdca8379fdc6521febea81e553de763b6f4fd0
This commit is contained in:
Nick Kralevich
2013-01-30 09:51:40 -08:00
parent 4ec799d4c6
commit cae3d9f0ab

View File

@@ -19,10 +19,8 @@ package com.android.internal.os;
import static libcore.io.OsConstants.S_IRWXG; import static libcore.io.OsConstants.S_IRWXG;
import static libcore.io.OsConstants.S_IRWXO; import static libcore.io.OsConstants.S_IRWXO;
import android.content.pm.ActivityInfo;
import android.content.res.Resources; import android.content.res.Resources;
import android.content.res.TypedArray; import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.net.LocalServerSocket; import android.net.LocalServerSocket;
import android.os.Debug; import android.os.Debug;
import android.os.Process; import android.os.Process;
@@ -87,12 +85,6 @@ public class ZygoteInit {
*/ */
static final int GC_LOOP_COUNT = 10; static final int GC_LOOP_COUNT = 10;
/**
* If true, zygote forks for each peer. If false, a select loop is used
* inside a single process. The latter is preferred.
*/
private static final boolean ZYGOTE_FORK_MODE = false;
/** /**
* The name of a resource file that contains classes to preload. * The name of a resource file that contains classes to preload.
*/ */
@@ -549,11 +541,7 @@ public class ZygoteInit {
Log.i(TAG, "Accepting command socket connections"); Log.i(TAG, "Accepting command socket connections");
if (ZYGOTE_FORK_MODE) { runSelectLoop();
runForkMode();
} else {
runSelectLoopMode();
}
closeServerSocket(); closeServerSocket();
} catch (MethodAndArgsCaller caller) { } catch (MethodAndArgsCaller caller) {
@@ -565,44 +553,6 @@ public class ZygoteInit {
} }
} }
/**
* Runs the zygote in accept-and-fork mode. In this mode, each peer
* gets its own zygote spawner process. This code is retained for
* reference only.
*
* @throws MethodAndArgsCaller in a child process when a main() should
* be executed.
*/
private static void runForkMode() throws MethodAndArgsCaller {
while (true) {
ZygoteConnection peer = acceptCommandPeer();
int pid;
pid = Zygote.fork();
if (pid == 0) {
// The child process should handle the peer requests
// The child does not accept any more connections
try {
sServerSocket.close();
} catch (IOException ex) {
Log.e(TAG, "Zygote Child: error closing sockets", ex);
} finally {
sServerSocket = null;
}
peer.run();
break;
} else if (pid > 0) {
peer.closeSocket();
} else {
throw new RuntimeException("Error invoking fork()");
}
}
}
/** /**
* Runs the zygote process's select loop. Accepts new connections as * Runs the zygote process's select loop. Accepts new connections as
* they happen, and reads commands from connections one spawn-request's * they happen, and reads commands from connections one spawn-request's
@@ -611,9 +561,9 @@ public class ZygoteInit {
* @throws MethodAndArgsCaller in a child process when a main() should * @throws MethodAndArgsCaller in a child process when a main() should
* be executed. * be executed.
*/ */
private static void runSelectLoopMode() throws MethodAndArgsCaller { private static void runSelectLoop() throws MethodAndArgsCaller {
ArrayList<FileDescriptor> fds = new ArrayList(); ArrayList<FileDescriptor> fds = new ArrayList<FileDescriptor>();
ArrayList<ZygoteConnection> peers = new ArrayList(); ArrayList<ZygoteConnection> peers = new ArrayList<ZygoteConnection>();
FileDescriptor[] fdArray = new FileDescriptor[4]; FileDescriptor[] fdArray = new FileDescriptor[4];
fds.add(sServerSocket.getFileDescriptor()); fds.add(sServerSocket.getFileDescriptor());