You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2009/03/08 21:17:48 UTC
svn commit: r751514 -
/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramConnector.java
Author: elecharny
Date: Sun Mar 8 20:17:47 2009
New Revision: 751514
URL: http://svn.apache.org/viewvc?rev=751514&view=rev
Log:
Closed the Datagram if it can't be bound. This will fix DIRMINA-667.
Modified:
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramConnector.java
Modified: mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramConnector.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramConnector.java?rev=751514&r1=751513&r2=751514&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramConnector.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramConnector.java Sun Mar 8 20:17:47 2009
@@ -123,10 +123,19 @@
protected DatagramChannel newHandle(SocketAddress localAddress)
throws Exception {
DatagramChannel ch = DatagramChannel.open();
- if (localAddress != null) {
- ch.socket().bind(localAddress);
+
+ try {
+ if (localAddress != null) {
+ ch.socket().bind(localAddress);
+ }
+
+ return ch;
+ } catch (Exception e) {
+ // If we got an exception while binding the datagram,
+ // we have to close it otherwise we will loose an handle
+ ch.close();
+ throw e;
}
- return ch;
}
@Override