From ffe10e15028f39d3f60adea2c0d24ac171d2b367 Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Thu, 6 Oct 2011 09:25:50 +0100
Subject: [PATCH] Don't call the callback after stop() has been called.

---
 components/net/sf/briar/plugins/file/FilePlugin.java | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/components/net/sf/briar/plugins/file/FilePlugin.java b/components/net/sf/briar/plugins/file/FilePlugin.java
index 634102280e..eb8f70610c 100644
--- a/components/net/sf/briar/plugins/file/FilePlugin.java
+++ b/components/net/sf/briar/plugins/file/FilePlugin.java
@@ -106,7 +106,7 @@ abstract class FilePlugin implements BatchTransportPlugin {
 	}
 
 	protected void createReaderFromFile(final File f) {
-		if(!started) throw new IllegalStateException();
+		if(!started) return;
 		executor.execute(new ReaderCreator(f));
 	}
 
@@ -127,8 +127,12 @@ abstract class FilePlugin implements BatchTransportPlugin {
 			if(f.length() < TransportConstants.MIN_CONNECTION_LENGTH) return;
 			try {
 				FileInputStream in = new FileInputStream(f);
-				callback.readerCreated(new FileTransportReader(f, in,
-						FilePlugin.this));
+				synchronized(FilePlugin.this) {
+					if(started) {
+						callback.readerCreated(new FileTransportReader(f, in,
+								FilePlugin.this));
+					}
+				}
 			} catch(IOException e) {
 				return;
 			}
-- 
GitLab