OpenJDK / jdk / jdk12
changeset 25339:ca74d9691341
8043158: Crash in CodeSweeperSweepNoFlushTest in CompileQueue::free_all()
Summary: Acquire lock before calling notify()
Reviewed-by: twisti, thartmann
author | anoll |
---|---|
date | Fri, 20 Jun 2014 09:25:13 +0200 |
parents | 8afcbcb8271a |
children | cecf01c76a9e 0d93ff60f047 |
files | hotspot/src/share/vm/compiler/compileBroker.cpp |
diffstat | 1 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/hotspot/src/share/vm/compiler/compileBroker.cpp Fri Jun 20 08:14:30 2014 +0200 +++ b/hotspot/src/share/vm/compiler/compileBroker.cpp Fri Jun 20 09:25:13 2014 +0200 @@ -639,8 +639,11 @@ while (next != NULL) { CompileTask* current = next; next = current->next(); - // Wake up thread that blocks on the compile task. - current->lock()->notify(); + { + // Wake up thread that blocks on the compile task. + MutexLocker ct_lock(current->lock()); + current->lock()->notify(); + } // Put the task back on the freelist. CompileTask::free(current); }