Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 28213 invoked from network); 24 Mar 2005 02:16:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 24 Mar 2005 02:16:05 -0000 Received: (qmail 50746 invoked by uid 500); 24 Mar 2005 02:16:05 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 50687 invoked by uid 500); 24 Mar 2005 02:16:03 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 50672 invoked by uid 99); 24 Mar 2005 02:16:02 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Wed, 23 Mar 2005 18:16:02 -0800 Received: (qmail 28189 invoked by uid 65534); 24 Mar 2005 02:16:01 -0000 Message-ID: <20050324021601.28188.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: svnmailer-1.0.0-dev Date: Thu, 24 Mar 2005 02:16:01 -0000 Subject: svn commit: r158860 - in directory/network/trunk/src/java/org/apache/mina/io: datagram/DatagramAcceptor.java socket/SocketAcceptor.java To: commits@directory.apache.org From: trustin@apache.org X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: trustin Date: Wed Mar 23 18:15:59 2005 New Revision: 158860 URL: http://svn.apache.org/viewcvs?view=3Drev&rev=3D158860 Log: Fixed: Acceptor.unbind() blocks forever if user tried to unbind unbound add= ress. Modified: directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramAc= ceptor.java directory/network/trunk/src/java/org/apache/mina/io/socket/SocketAccept= or.java Modified: directory/network/trunk/src/java/org/apache/mina/io/datagram/Data= gramAcceptor.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/datagram/DatagramAcceptor.java?view=3Ddiff&r1=3D158859&r2=3D158= 860 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramAc= ceptor.java (original) +++ directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramAc= ceptor.java Wed Mar 23 18:15:59 2005 @@ -460,25 +460,21 @@ } =20 DatagramChannel ch =3D ( DatagramChannel ) channels.get( reque= st.address ); - if( ch =3D=3D null ) + // close the channel + try { - synchronized( request ) + if( ch =3D=3D null ) { - request.done =3D true; request.exception =3D new IllegalArgumentException( "Address not bound: " + request.address ); } - continue; - } - =20 - SelectionKey key =3D ch.keyFor( selector ); - key.cancel(); - selector.wakeup(); // wake up again to trigger thread death - =20 - // close the channel - try - { - ch.close(); + else + { + SelectionKey key =3D ch.keyFor( selector ); + key.cancel(); + selector.wakeup(); // wake up again to trigger thread = death + ch.close(); + } } catch( IOException e ) { Modified: directory/network/trunk/src/java/org/apache/mina/io/socket/Socket= Acceptor.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/socket/SocketAcceptor.java?view=3Ddiff&r1=3D158859&r2=3D158860 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/socket/SocketAccept= or.java (original) +++ directory/network/trunk/src/java/org/apache/mina/io/socket/SocketAccept= or.java Wed Mar 23 18:15:59 2005 @@ -317,25 +317,22 @@ } =20 ServerSocketChannel ssc =3D ( ServerSocketChannel ) channels.g= et( request.address ); - if( ssc =3D=3D null ) + =20 + // close the channel + try { - synchronized( request ) + if( ssc =3D=3D null ) { - request.done =3D true; request.exception =3D new IllegalArgumentException( "Address not bound: " + request.address ); } - continue; - } - =20 - SelectionKey key =3D ssc.keyFor( selector ); - key.cancel(); - selector.wakeup(); // wake up again to trigger thread death - =20 - // close the channel - try - { - ssc.close(); + else + { + SelectionKey key =3D ssc.keyFor( selector ); + key.cancel(); + selector.wakeup(); // wake up again to trigger thread = death + ssc.close(); + } } catch( IOException e ) {