Run a GC after killing a UID due to binder proxy limit.
After we hit the per-UID proxy limit and kill the originating process, there's actually no guarantee that the proxies to the (now dead) processes are cleaned up immediately; if the processes get restarted and start accumulating proxies again, we may go over the global proxy limit (25k with this CL). Do a GC to make sure we clean them up. Note that the GC here might not actually clean up all the proxies, because the binder reference decrements will come in asynchronously; but if new processes belonging to the UID keep adding proxies, we will get another callback here, and run the GC again - this time cleaning up the old proxies. Because of this potential delay, an app may temporarily have many more outstanding proxies than the high watermark, so also increase the global proxy limit to 25k proxies. Bug: 198340142 Test: Manual Change-Id: I75c7ea4f7aa4a5d448f610014770f1b9788cfb5b Merged-In: I75c7ea4f7aa4a5d448f610014770f1b9788cfb5b
Loading
Please register or sign in to comment