Skip to content

Commit 8adc11a

Browse files
committed
Finally fix grepper never finishing...
1 parent 05a14f3 commit 8adc11a

File tree

1 file changed

+19
-16
lines changed

1 file changed

+19
-16
lines changed

src/main/java/com/nccgroup/loggerplusplus/grepper/GrepperController.java

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -121,27 +121,30 @@ private void processMatches(GrepResults grepResults, Pattern pattern, byte[] con
121121
private Runnable createProcessThread(final LogEntry logEntry, final Pattern pattern,
122122
final boolean inScopeOnly, final boolean searchRequests, final boolean searchResponses) {
123123
return () -> {
124-
if (Thread.currentThread().isInterrupted()) return;
125-
GrepResults grepResults = null;
126-
if (!inScopeOnly || LoggerPlusPlus.isUrlInScope(logEntry.getUrlString())) {
127-
grepResults = processEntry(logEntry, pattern, searchRequests, searchResponses);
128-
}
129-
for (GrepperListener listener : this.listeners) {
130-
try {
131-
listener.onEntryProcessed(grepResults);
132-
} catch (Exception e) {
133-
e.printStackTrace();
124+
try {
125+
if (Thread.currentThread().isInterrupted()) return;
126+
GrepResults grepResults = null;
127+
if (!inScopeOnly || LoggerPlusPlus.isUrlInScope(logEntry.getUrlString())) {
128+
grepResults = processEntry(logEntry, pattern, searchRequests, searchResponses);
134129
}
135-
}
136-
int remaining = remainingEntries.decrementAndGet();
137-
if(remaining == 0){
138-
for (GrepperListener listener : listeners) {
130+
for (GrepperListener listener : this.listeners) {
139131
try {
140-
listener.onSearchComplete();
141-
}catch (Exception e){
132+
listener.onEntryProcessed(grepResults);
133+
} catch (Exception e) {
142134
e.printStackTrace();
143135
}
144136
}
137+
}finally {
138+
int remaining = remainingEntries.decrementAndGet();
139+
if (remaining == 0) {
140+
for (GrepperListener listener : listeners) {
141+
try {
142+
listener.onSearchComplete();
143+
} catch (Exception e) {
144+
e.printStackTrace();
145+
}
146+
}
147+
}
145148
}
146149
};
147150
}

0 commit comments

Comments
 (0)