diff --git a/components/net/sf/briar/plugins/file/FilePlugin.java b/components/net/sf/briar/plugins/file/FilePlugin.java index 634102280..eb8f70610 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; }