From fefcb6c2cbe9c727ef197e50272a87e43d294320 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Sun, 26 Dec 2010 23:35:27 +0000 Subject: [PATCH] prevent leak after exception --- core/java/src/net/i2p/client/I2PSessionImpl.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/core/java/src/net/i2p/client/I2PSessionImpl.java b/core/java/src/net/i2p/client/I2PSessionImpl.java index e101ff7252..8b4389e47d 100644 --- a/core/java/src/net/i2p/client/I2PSessionImpl.java +++ b/core/java/src/net/i2p/client/I2PSessionImpl.java @@ -864,13 +864,16 @@ abstract class I2PSessionImpl implements I2PSession, I2CPMessageReader.I2CPMessa return null; LookupWaiter waiter = new LookupWaiter(h); _pendingLookups.offer(waiter); - sendMessage(new DestLookupMessage(h)); try { - synchronized (waiter) { - waiter.wait(maxWait); - } - } catch (InterruptedException ie) {} - _pendingLookups.remove(waiter); + sendMessage(new DestLookupMessage(h)); + try { + synchronized (waiter) { + waiter.wait(maxWait); + } + } catch (InterruptedException ie) {} + } finally { + _pendingLookups.remove(waiter); + } return waiter.destination; } -- GitLab