8213236: A partial removed/deleted JavaThread cannot transition

Reviewed-by: dholmes, dcubed, eosterlund
This commit is contained in:
Robbin Ehn 2018-11-02 14:13:05 +01:00
parent 25f14cd757
commit 6e5e462e2a
2 changed files with 4 additions and 2 deletions

View file

@ -319,7 +319,9 @@ void VMThread::run() {
// Notify the VMThread that the last non-daemon JavaThread has terminated,
// and wait until operation is performed.
void VMThread::wait_for_vm_thread_exit() {
{ MutexLocker mu(VMOperationQueue_lock);
assert(Thread::current()->is_Java_thread(), "Should be a JavaThread");
assert(((JavaThread*)Thread::current())->is_terminated(), "Should be terminated");
{ MutexLockerEx mu(VMOperationQueue_lock, Mutex::_no_safepoint_check_flag);
_should_terminate = true;
VMOperationQueue_lock->notify();
}