You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by jv...@apache.org on 2013/12/04 15:28:28 UTC

git commit: FIX: correctly destroy BIO UDP sessions

Updated Branches:
  refs/heads/trunk 7459994a9 -> b7e59fbc0


FIX: correctly destroy BIO UDP sessions


Project: http://git-wip-us.apache.org/repos/asf/mina/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/b7e59fbc
Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/b7e59fbc
Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/b7e59fbc

Branch: refs/heads/trunk
Commit: b7e59fbc049aa6b2a524acdd6091d6514087f1e2
Parents: 7459994
Author: jvermillard <jv...@apache.org>
Authored: Wed Dec 4 15:27:46 2013 +0100
Committer: jvermillard <jv...@apache.org>
Committed: Wed Dec 4 15:27:46 2013 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/mina/transport/bio/BioUdpServer.java   | 5 +++++
 .../main/java/org/apache/mina/transport/bio/BioUdpSession.java  | 2 ++
 2 files changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina/blob/b7e59fbc/core/src/main/java/org/apache/mina/transport/bio/BioUdpServer.java
----------------------------------------------------------------------
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 @@ public class BioUdpServer extends AbstractUdpServer {
             }
         }
     }
+
+    /** remove a closed session from the list on managed sessions */
+    void destroy(BioUdpSession bioUdpSession) {
+        sessions.remove(bioUdpSession);
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mina/blob/b7e59fbc/core/src/main/java/org/apache/mina/transport/bio/BioUdpSession.java
----------------------------------------------------------------------
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 @@ public class BioUdpSession extends AbstractIoSession {
      */
     @Override
     public IoFuture<Void> close(boolean immediately) {
+        // remove the session of the list of managed sessions
+        ((BioUdpServer) getService()).destroy(this);
         processSessionClosed();
         return null;
     }