geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Mulder <ammul...@alumni.princeton.edu>
Subject Re: svn commit: rev 76008 - geronimo/trunk/modules/remoting/src/java/org/apache/geronimo/remoting/transport/async/bio
Date Tue, 16 Nov 2004 21:44:31 GMT
	Unfortunately, this causes all remoting closes to hang for me 
(believe it or not, it's much worse than the previous problem).  I'm on 
Linux (SuSE 9.2), and I have two bugs:
 1) SO_TIMEOUT is ignored on channels
 2) A thread blocked on accept is not unblocked by interrupt()
	I put in the change below because it solved problem #1, which
meant that an accept eventually wakes up once SO_TIMEOUT expires.  While
it seems that it causes problems elsewhere, really, that problem is less
severe.  The way it is now (after the patch below), the JVM locks up.  
With the other problem, some tests fail.

Aaron

On Tue, 16 Nov 2004 adc@apache.org wrote:

> Author: adc
> Date: Tue Nov 16 11:03:03 2004
> New Revision: 76008
> 
> Modified:
>    geronimo/trunk/modules/remoting/src/java/org/apache/geronimo/remoting/transport/async/bio/BlockingServer.java
> Log:
> Need to revisit this.
> 
> Modified: geronimo/trunk/modules/remoting/src/java/org/apache/geronimo/remoting/transport/async/bio/BlockingServer.java
> ==============================================================================
> --- geronimo/trunk/modules/remoting/src/java/org/apache/geronimo/remoting/transport/async/bio/BlockingServer.java
(original)
> +++ geronimo/trunk/modules/remoting/src/java/org/apache/geronimo/remoting/transport/async/bio/BlockingServer.java
Tue Nov 16 11:03:03 2004
> @@ -141,7 +141,7 @@
>              while (running) {
>                  SocketChannel socket = null;
>                  try {
> -                    socket = serverSocketChannel.socket().accept().getChannel();
> +                    socket = serverSocketChannel.accept();
>                      if (log.isTraceEnabled())
>                          log.trace("Accepted connection: " + socket);
>                  } catch (java.io.InterruptedIOException e) {
> @@ -197,8 +197,8 @@
>              running = false;
>              worker.interrupt();
>          }
> -        serverSocketChannel.close();
>  
> +        serverSocketChannel.close();
>          super.dispose();
>      }
>  
> 

Mime
View raw message