commit | bbd9d830fe0eb8ce44405d7504dcf9a6fe91ffa1 | [log] [tgz] |
---|---|---|
author | Elliott Hughes <enh@google.com> | Mon Nov 07 14:40:00 2011 -0800 |
committer | Elliott Hughes <enh@google.com> | Mon Nov 07 14:40:00 2011 -0800 |
tree | 211747a79d87a2412c156e42713eea4638bbc340 | |
parent | c2f8006ede3d07ca53467fa73573bdbfb864a65e [diff] |
Fix at least two deadlocks. Pretty much every caller that takes the thread list lock can then go on to cause allocation, which requires the heap lock. The GC always takes the heap lock first and the thread list lock second (to suspend/resume other threads). Cue deadlocks. This patch is a pretty degenerate fix that basically makes the thread list lock irrelevant; we now always take the heap lock first. Change-Id: I0537cffb0b841bfb5033789817793734d75dfb31