If a finalizer wedges, raise prio and retry.
The VM uses a watchdog mechanism to detect stuck finalizers. It appears
that, in some cases, the watchdog may be firing because the HeapWorker
thread in a background process doesn't get any CPU time after a
remotely-induced GC finishes. With this change, if the HeapWorker is
running at a reduced priority, we raise the priority and allow it to
try some more.
No attempt is made to put the thread priority back. (The HeapWorker
thread doesn't do anything in an idle process, and what it does do is
geared toward freeing one kind of resource or another.)
For bug 2492196.
Change-Id: Ic734c2e2819b9d60d20b2961f2a75085d5879495
3 files changed