src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp
branchJEP-349-branch
changeset 58157 9dca61a7df19
parent 58154 060d9d139109
parent 58132 caa25ab47aca
child 58158 369ebc2a11c2
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp	Sat Sep 14 13:18:20 2019 +0200
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp	Sun Sep 15 13:41:19 2019 +0200
@@ -173,6 +173,9 @@
 
 void JfrTypeManager::write_type_set() {
   assert(!SafepointSynchronize::is_at_safepoint(), "invariant");
+  // can safepoint here because of Module_lock
+  MutexLocker cld_lock(SafepointSynchronize::is_at_safepoint() ? NULL : ClassLoaderDataGraph_lock);
+  MutexLocker lock(SafepointSynchronize::is_at_safepoint() ? NULL : Module_lock);
   if (!LeakProfiler::is_running()) {
     JfrCheckpointWriter writer;
     TypeSet set;