equal
deleted
inserted
replaced
32 import java.util.Arrays; |
32 import java.util.Arrays; |
33 import java.util.Comparator; |
33 import java.util.Comparator; |
34 import java.util.Objects; |
34 import java.util.Objects; |
35 |
35 |
36 import jdk.jfr.consumer.RecordedEvent; |
36 import jdk.jfr.consumer.RecordedEvent; |
|
37 import jdk.jfr.internal.JVM; |
37 import jdk.jfr.internal.Utils; |
38 import jdk.jfr.internal.Utils; |
38 import jdk.jfr.internal.consumer.ChunkParser.ParserConfiguration; |
39 import jdk.jfr.internal.consumer.ChunkParser.ParserConfiguration; |
39 |
40 |
40 /** |
41 /** |
41 * Implementation of an {@code EventStream}} that operates against a directory |
42 * Implementation of an {@code EventStream}} that operates against a directory |
78 startAsync(Utils.timeToNanos(Instant.now())); |
79 startAsync(Utils.timeToNanos(Instant.now())); |
79 } |
80 } |
80 |
81 |
81 @Override |
82 @Override |
82 protected void process() throws IOException { |
83 protected void process() throws IOException { |
|
84 try { |
|
85 JVM.getJVM().exclude(Thread.currentThread()); |
|
86 processRecursionSafe(); |
|
87 } finally { |
|
88 JVM.getJVM().include(Thread.currentThread()); |
|
89 } |
|
90 } |
|
91 |
|
92 protected void processRecursionSafe() throws IOException { |
83 Dispatcher disp = dispatcher(); |
93 Dispatcher disp = dispatcher(); |
84 |
94 |
85 Path path; |
95 Path path; |
86 boolean validStartTime = active || disp.startTime != null; |
96 boolean validStartTime = active || disp.startTime != null; |
87 if (validStartTime) { |
97 if (validStartTime) { |