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;
     }