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