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

Commit 956c1333 authored by Martijn Coenen's avatar Martijn Coenen
Browse files

Disable the freezer while we're collecting binder interface descriptors.

These are synchronous calls out from system_server to many processes;
make sure we don't get hung up on them.

Bug: 152294322
Test: N/A
Change-Id: Ie6f9da6c7f5df346cc28e0968f70a898bcd52adf
parent 7f212788
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -251,6 +251,11 @@ public final class BinderProxy implements IBinder {
                    }
                }
            }
            // For gathering this debug output, we're making synchronous binder calls
            // out of system_server to all processes hosting binder objects it holds a reference to;
            // since some of those processes might be frozen, we don't want to block here
            // forever. Disable the freezer.
            Process.enableFreezer(false);
            for (WeakReference<BinderProxy> weakRef : proxiesToQuery) {
                BinderProxy bp = weakRef.get();
                String key;
@@ -273,6 +278,7 @@ public final class BinderProxy implements IBinder {
                    counts.put(key, i + 1);
                }
            }
            Process.enableFreezer(true);
            Map.Entry<String, Integer>[] sorted = counts.entrySet().toArray(
                    new Map.Entry[counts.size()]);