diff --git a/components/net/sf/briar/plugins/socket/SocketPlugin.java b/components/net/sf/briar/plugins/socket/SocketPlugin.java index fc2cfaf374926ef56bc6c44ea9207aaa9a2996f5..b5569a3298d74d54c94b967669b65c455f908ff4 100644 --- a/components/net/sf/briar/plugins/socket/SocketPlugin.java +++ b/components/net/sf/briar/plugins/socket/SocketPlugin.java @@ -88,6 +88,7 @@ implements StreamTransportPlugin { Socket s; synchronized(this) { if(!started) return; + if(socket == null) return; ss = socket; } try { @@ -114,7 +115,10 @@ implements StreamTransportPlugin { public synchronized void stop() throws IOException { super.stop(); - if(socket != null) socket.close(); + if(socket != null) { + socket.close(); + socket = null; + } } public synchronized void setLocalProperties(Map<String, String> properties) @@ -129,6 +133,7 @@ implements StreamTransportPlugin { } catch(IOException e) { // FIXME: Logging } + socket = null; executor.execute(createBinder()); } }