From 305e692270d3054d1961a7ab471d38eb7c4e86e1 Mon Sep 17 00:00:00 2001 From: Simon Ebner Date: Mon, 5 May 2014 13:06:56 +0200 Subject: [PATCH] Fixed termination of scan --- .../main/java/ch/psi/fda/cdump/CdumpEContainer.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ch.psi.fda.cdump/src/main/java/ch/psi/fda/cdump/CdumpEContainer.java b/ch.psi.fda.cdump/src/main/java/ch/psi/fda/cdump/CdumpEContainer.java index 40c78cc..427e9d1 100644 --- a/ch.psi.fda.cdump/src/main/java/ch/psi/fda/cdump/CdumpEContainer.java +++ b/ch.psi.fda.cdump/src/main/java/ch/psi/fda/cdump/CdumpEContainer.java @@ -5,6 +5,7 @@ import java.io.File; import com.google.common.eventbus.EventBus; import ch.psi.fda.EContainer; +import ch.psi.fda.messages.EndOfStreamMessage; import ch.psi.fda.serializer.SerializerTXT; import ch.psi.jcae.ChannelService; @@ -15,6 +16,7 @@ public class CdumpEContainer implements EContainer { private final EventBus eventbus; private Cdump cdump; + private SerializerTXT serializer; private volatile boolean running = false; @@ -31,7 +33,7 @@ public class CdumpEContainer implements EContainer { File file = new File(edescriptor.getFileName()); file.getParentFile().mkdirs(); // Create data base directory - SerializerTXT serializer = new SerializerTXT(file); + serializer = new SerializerTXT(file); serializer.setShowDimensionHeader(false); eventbus.register(serializer); @@ -51,8 +53,11 @@ public class CdumpEContainer implements EContainer { @Override public void abort() { + eventbus.post(new EndOfStreamMessage()); cdump.stop(); running = false; + + eventbus.unregister(serializer); } @Override @@ -62,8 +67,7 @@ public class CdumpEContainer implements EContainer { @Override public void destroy() { - cdump.stop(); - running = false; + abort(); } }