From 3a1fcf28650356698fe49c4136a4fbfbb535f561 Mon Sep 17 00:00:00 2001 From: jrandom Date: Wed, 25 Aug 2004 19:49:07 +0000 Subject: [PATCH] oh, you mean we should actually stop waiting for something on a thread that has nothing left to do? what a concept! (this should kill the leaking thread issue) --- .../src/net/i2p/router/transport/tcp/TCPConnection.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/router/java/src/net/i2p/router/transport/tcp/TCPConnection.java b/router/java/src/net/i2p/router/transport/tcp/TCPConnection.java index 013108498..b2d2260ef 100644 --- a/router/java/src/net/i2p/router/transport/tcp/TCPConnection.java +++ b/router/java/src/net/i2p/router/transport/tcp/TCPConnection.java @@ -399,7 +399,11 @@ class TCPConnection implements I2NPMessageReader.I2NPMessageEventListener { _transport.connectionClosed(this); } - List getPendingMessages() { return _toBeSent; } + List getPendingMessages() { + synchronized (_toBeSent) { + return new ArrayList(_toBeSent); + } + } public void disconnected(I2NPMessageReader reader) { if (_log.shouldLog(Log.WARN)) @@ -460,7 +464,7 @@ class TCPConnection implements I2NPMessageReader.I2NPMessageEventListener { private OutNetMessage getNext() { OutNetMessage msg = null; - while (msg == null) { + while ( (msg == null) && (_running) ) { synchronized (_toBeSent) { if (_toBeSent.size() <= 0) { try {