< prev index next > src/hotspot/share/prims/jvmtiThreadState.cpp
Print this page
/*
- * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
void
JvmtiVTMSTransitionDisabler::VTMS_unmount_end(jobject vthread) {
JavaThread* thread = JavaThread::current();
assert(thread->is_in_VTMS_transition(), "sanity check");
finish_VTMS_transition(vthread, /* is_mount */ false);
+
+ if (thread->pending_jvmti_unmount_event()) {
+ assert(java_lang_VirtualThread::is_preempted(JNIHandles::resolve(vthread)), "should be marked preempted");
+ JvmtiExport::post_vthread_unmount(vthread);
+ thread->set_pending_jvmti_unmount_event(false);
+ }
}
//
// Virtual Threads Suspend/Resume management
< prev index next >