From fc38d54bcbd5fb49263b80af7706598991fc52a5 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Thu, 10 Feb 2011 15:21:23 +0000 Subject: [PATCH] * I2CP: Correctly close internal connections on the router side when closed by the client, was causing massive memory leak for internal clients using lots of sessions (thanks sponge) --- core/java/src/net/i2p/internal/QueuedI2CPMessageReader.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/java/src/net/i2p/internal/QueuedI2CPMessageReader.java b/core/java/src/net/i2p/internal/QueuedI2CPMessageReader.java index 55b29b3105..13c82cc6b5 100644 --- a/core/java/src/net/i2p/internal/QueuedI2CPMessageReader.java +++ b/core/java/src/net/i2p/internal/QueuedI2CPMessageReader.java @@ -42,10 +42,12 @@ public class QueuedI2CPMessageReader extends I2CPMessageReader { I2CPMessage msg = null; try { msg = in.take(); - if (msg.getType() == PoisonI2CPMessage.MESSAGE_TYPE) + if (msg.getType() == PoisonI2CPMessage.MESSAGE_TYPE) { + _listener.disconnected(QueuedI2CPMessageReader.this); cancelRunner(); - else + } else { _listener.messageReceived(QueuedI2CPMessageReader.this, msg); + } } catch (InterruptedException ie) {} } // ??? unused -- GitLab