--- 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;