From ce2d42542b1004cf6429303fa2fe9e5efdad5b3d Mon Sep 17 00:00:00 2001 From: "Samuel H. Kenyon" Date: Tue, 1 Apr 2014 11:54:45 -0400 Subject: [PATCH] Final search now blocks until that thread is done. --- .../sleuthkit/autopsy/keywordsearch/SearchRunner.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SearchRunner.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SearchRunner.java index 0361195fae..4f72cec793 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SearchRunner.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/SearchRunner.java @@ -39,6 +39,7 @@ import org.netbeans.api.progress.aggregate.AggregateProgressFactory; import org.netbeans.api.progress.aggregate.AggregateProgressHandle; import org.netbeans.api.progress.aggregate.ProgressContributor; import org.openide.util.Cancellable; +import org.openide.util.Exceptions; import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.EscapeUtil; import org.sleuthkit.autopsy.coreutils.Logger; @@ -175,7 +176,13 @@ public final class SearchRunner { if (!job.getKeywordListNames().isEmpty()) { SearchRunner.Searcher finalSearcher = new SearchRunner.Searcher(job, true); finalSearcher.execute(); - } + try { + // block until the search is complete + finalSearcher.get(); + } catch (InterruptedException | ExecutionException ex) { + logger.log(Level.WARNING, "Job {1} final search thread failed: {2}", new Object[]{job.getJobId(), ex}); + } + } }