commit | b7e59fbc049aa6b2a524acdd6091d6514087f1e2 | [log] [tgz] |
---|---|---|
author | jvermillard <jvermillard@apache.org> | Wed Dec 04 15:27:46 2013 +0100 |
committer | jvermillard <jvermillard@apache.org> | Wed Dec 04 15:27:46 2013 +0100 |
tree | 39a2f613f6c7863937f9431e2513c0627131a27a | |
parent | 7459994a93416b304a1937ccff5aa6b240697645 [diff] |
FIX: correctly destroy BIO UDP sessions
diff --git a/core/src/main/java/org/apache/mina/transport/bio/BioUdpServer.java b/core/src/main/java/org/apache/mina/transport/bio/BioUdpServer.java index f51e71d..6b228d4 100644 --- a/core/src/main/java/org/apache/mina/transport/bio/BioUdpServer.java +++ b/core/src/main/java/org/apache/mina/transport/bio/BioUdpServer.java
@@ -212,4 +212,9 @@ } } } + + /** remove a closed session from the list on managed sessions */ + void destroy(BioUdpSession bioUdpSession) { + sessions.remove(bioUdpSession); + } } \ No newline at end of file
diff --git a/core/src/main/java/org/apache/mina/transport/bio/BioUdpSession.java b/core/src/main/java/org/apache/mina/transport/bio/BioUdpSession.java index 7beddba..a2ec97c 100644 --- a/core/src/main/java/org/apache/mina/transport/bio/BioUdpSession.java +++ b/core/src/main/java/org/apache/mina/transport/bio/BioUdpSession.java
@@ -80,6 +80,8 @@ */ @Override public IoFuture<Void> close(boolean immediately) { + // remove the session of the list of managed sessions + ((BioUdpServer) getService()).destroy(this); processSessionClosed(); return null; }