[ 
https://issues.apache.org/jira/browse/DIRMINA-804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089556#comment-13089556
 ] 

Alexander Temerev commented on DIRMINA-804:
-------------------------------------------

I can confirm this bug happening both on Ubuntu Server and Mac OS X. Very 
annoying, actually, because I cannot restart my production server for minutes.

> NioDatagramAcceptor.unbind does not unbind cleanly
> --------------------------------------------------
>
>                 Key: DIRMINA-804
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-804
>             Project: MINA
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 2.0.0
>         Environment: Windows 7
>            Reporter: Zhou
>             Fix For: 2.0.5
>
>
> Steps to reproduce:
> 1.  Use below code.
> NioDatagramAcceptor acceptor = new NioDatagramAcceptor();
> acceptor.setHandler(new IoHandlerAdapter());
> SocketAddress localAddress = new InetSocketAddress("localhost",9001);
> acceptor.bind(localAddress);
> acceptor.unbind(localAddress);
> 2. use debugger to step over here after unbind() call but before exiting the 
> process
> 3. use netstat to check current UDP sockets. you can find port 9001 not 
> released yet.
> Possible solution: invoke selector.selectNow() after closing the channel.
>  @Override
>     protected void close(DatagramChannel handle) throws Exception {
>         SelectionKey key = handle.keyFor(selector);
>         if (key != null) {
>             key.cancel();
>         }
>         
>         handle.disconnect();
>         handle.close();
>         selector.selectNow();
>     }

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to