Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9078248b authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix an issue when empty the usap pool." am: faf1b1cf

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1893002

Change-Id: I6d5e04471f756ee5544bb1f77cf1927f44d7715a
parents fc7e697e faf1b1cf
Loading
Loading
Loading
Loading
+6 −4
Original line number Original line Diff line number Diff line
@@ -724,9 +724,6 @@ public final class Zygote {
        DataOutputStream usapOutputStream = null;
        DataOutputStream usapOutputStream = null;
        ZygoteArguments args = null;
        ZygoteArguments args = null;


        // Block SIGTERM so we won't be killed if the Zygote flushes the USAP pool.
        blockSigTerm();

        LocalSocket sessionSocket = null;
        LocalSocket sessionSocket = null;
        if (argBuffer == null) {
        if (argBuffer == null) {
            // Read arguments from usapPoolSocket instead.
            // Read arguments from usapPoolSocket instead.
@@ -742,6 +739,10 @@ public final class Zygote {
                ZygoteCommandBuffer tmpArgBuffer = null;
                ZygoteCommandBuffer tmpArgBuffer = null;
                try {
                try {
                    sessionSocket = usapPoolSocket.accept();
                    sessionSocket = usapPoolSocket.accept();
                    // Block SIGTERM so we won't be killed if the Zygote flushes the USAP pool.
                    // This is safe from a race condition because the pool is only flushed after
                    // the SystemServer changes its internal state to stop using the USAP pool.
                    blockSigTerm();


                    usapOutputStream =
                    usapOutputStream =
                            new DataOutputStream(sessionSocket.getOutputStream());
                            new DataOutputStream(sessionSocket.getOutputStream());
@@ -759,9 +760,10 @@ public final class Zygote {
                unblockSigTerm();
                unblockSigTerm();
                IoUtils.closeQuietly(sessionSocket);
                IoUtils.closeQuietly(sessionSocket);
                IoUtils.closeQuietly(tmpArgBuffer);
                IoUtils.closeQuietly(tmpArgBuffer);
                blockSigTerm();
            }
            }
        } else {
        } else {
            // Block SIGTERM so we won't be killed if the Zygote flushes the USAP pool.
            blockSigTerm();
            try {
            try {
                args = ZygoteArguments.getInstance(argBuffer);
                args = ZygoteArguments.getInstance(argBuffer);
            } catch (Exception ex) {
            } catch (Exception ex) {