From c728377ae101ae43c1f64acddb28be9e9c3f5166 Mon Sep 17 00:00:00 2001 From: akwizgran <akwizgran@users.sourceforge.net> Date: Wed, 7 Dec 2011 21:37:13 +0000 Subject: [PATCH] Removed the DB listener when the connection is closed. --- .../net/sf/briar/transport/stream/StreamConnection.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/components/net/sf/briar/transport/stream/StreamConnection.java b/components/net/sf/briar/transport/stream/StreamConnection.java index 44f16211eb..f3d3dbe471 100644 --- a/components/net/sf/briar/transport/stream/StreamConnection.java +++ b/components/net/sf/briar/transport/stream/StreamConnection.java @@ -184,10 +184,9 @@ abstract class StreamConnection implements DatabaseListener { void write() { try { + db.addListener(this); OutputStream out = createConnectionWriter().getOutputStream(); writer = protoWriterFactory.createProtocolWriter(out); - // Start receiving database events - db.addListener(this); // Send the initial packets: transports, subs, acks, offer dbExecutor.execute(new GenerateTransportUpdate()); dbExecutor.execute(new GenerateSubscriptionUpdate()); @@ -215,6 +214,8 @@ abstract class StreamConnection implements DatabaseListener { } catch(IOException e) { if(LOG.isLoggable(Level.WARNING)) LOG.warning(e.getMessage()); transport.dispose(false); + } finally { + db.removeListener(this); } } -- GitLab