src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventDirectoryStream.java
branchJEP-349-branch
changeset 58445 1893a674db04
parent 58197 0ef79bd7fb5c
child 58571 3d823192d9ca
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventDirectoryStream.java	Tue Oct 01 18:47:30 2019 +0200
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/EventDirectoryStream.java	Wed Oct 02 19:26:33 2019 +0200
@@ -34,6 +34,7 @@
 import java.util.Objects;
 
 import jdk.jfr.consumer.RecordedEvent;
+import jdk.jfr.internal.JVM;
 import jdk.jfr.internal.Utils;
 import jdk.jfr.internal.consumer.ChunkParser.ParserConfiguration;
 
@@ -80,6 +81,15 @@
 
     @Override
     protected void process() throws IOException {
+        try {
+            JVM.getJVM().exclude(Thread.currentThread());
+            processRecursionSafe();
+        } finally {
+            JVM.getJVM().include(Thread.currentThread());
+        }
+    }
+
+    protected void processRecursionSafe() throws IOException {
         Dispatcher disp = dispatcher();
 
         Path path;