From cae3d9f0ab2756e3659efc7a08830d2d7b43a05e Mon Sep 17 00:00:00 2001 From: Nick Kralevich Date: Wed, 30 Jan 2013 09:51:40 -0800 Subject: [PATCH] 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 --- .../com/android/internal/os/ZygoteInit.java | 58 ++----------------- 1 file changed, 4 insertions(+), 54 deletions(-) diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index ca8634ba9af4a..7eddc9cb7a910 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -19,10 +19,8 @@ package com.android.internal.os; import static libcore.io.OsConstants.S_IRWXG; import static libcore.io.OsConstants.S_IRWXO; -import android.content.pm.ActivityInfo; import android.content.res.Resources; import android.content.res.TypedArray; -import android.graphics.drawable.Drawable; import android.net.LocalServerSocket; import android.os.Debug; import android.os.Process; @@ -87,12 +85,6 @@ public class ZygoteInit { */ 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. */ @@ -549,11 +541,7 @@ public class ZygoteInit { Log.i(TAG, "Accepting command socket connections"); - if (ZYGOTE_FORK_MODE) { - runForkMode(); - } else { - runSelectLoopMode(); - } + runSelectLoop(); closeServerSocket(); } 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 * 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 * be executed. */ - private static void runSelectLoopMode() throws MethodAndArgsCaller { - ArrayList fds = new ArrayList(); - ArrayList peers = new ArrayList(); + private static void runSelectLoop() throws MethodAndArgsCaller { + ArrayList fds = new ArrayList(); + ArrayList peers = new ArrayList(); FileDescriptor[] fdArray = new FileDescriptor[4]; fds.add(sServerSocket.getFileDescriptor());