From 5393f356aa4746c776346821b6995517fd4f6da5 Mon Sep 17 00:00:00 2001 From: orbiter Date: Tue, 10 Feb 2009 01:08:06 +0000 Subject: [PATCH] fix for termination problem git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@5589 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- source/de/anomic/index/indexRAMRI.java | 2 +- .../de/anomic/plasma/plasmaSwitchboard.java | 2 ++ source/de/anomic/yacy/dht/Dispatcher.java | 20 ++++++++++++------- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/source/de/anomic/index/indexRAMRI.java b/source/de/anomic/index/indexRAMRI.java index b32763fe3..6e7ea8c69 100644 --- a/source/de/anomic/index/indexRAMRI.java +++ b/source/de/anomic/index/indexRAMRI.java @@ -256,7 +256,7 @@ public final class indexRAMRI implements indexRI, indexRIReader, Iterable e : this.transmissionCloud.entrySet()) { - for (indexContainer i : e.getValue()) this.backend.addEntries(i); + if (indexingTransmissionProcessor != null) this.indexingTransmissionProcessor.announceShutdown(); + if (this.transmissionCloud != null) { + for (Map.Entry e : this.transmissionCloud.entrySet()) { + for (indexContainer i : e.getValue()) try {this.backend.addEntries(i);} catch (IOException e1) {} + } + this.transmissionCloud.clear(); } - this.transmissionCloud.clear(); this.transmissionCloud = null; - this.indexingTransmissionProcessor.awaitShutdown(10000); + if (indexingTransmissionProcessor != null) { + this.indexingTransmissionProcessor.awaitShutdown(10000); + this.indexingTransmissionProcessor.clear(); + } + this.indexingTransmissionProcessor = null; } }