tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fha...@apache.org
Subject svn commit: r419612 - in /tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes: io/ObjectReader.java transport/nio/NioReceiver.java transport/nio/NioReplicationThread.java
Date Thu, 06 Jul 2006 16:38:44 GMT
Author: fhanik
Date: Thu Jul  6 09:38:44 2006
New Revision: 419612

URL: http://svn.apache.org/viewvc?rev=419612&view=rev
Log:
Set the state of the object reader correctly, and do it before the event happens

Modified:
    tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java
    tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java
    tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReplicationThread.java

Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java?rev=419612&r1=419611&r2=419612&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java
(original)
+++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java
Thu Jul  6 09:38:44 2006
@@ -43,6 +43,7 @@
     protected long lastAccess = System.currentTimeMillis();
     
     protected boolean accessed = false;
+    private boolean cancelled;
 
     /**
      * Creates an <code>ObjectReader</code> for a TCP NIO socket channel
@@ -146,8 +147,16 @@
         return lastAccess;
     }
 
+    public boolean isCancelled() {
+        return cancelled;
+    }
+
     public void setLastAccess(long lastAccess) {
         this.lastAccess = lastAccess;
+    }
+
+    public void setCancelled(boolean cancelled) {
+        this.cancelled = cancelled;
     }
 
 }

Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java?rev=419612&r1=419611&r2=419612&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java
(original)
+++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java
Thu Jul  6 09:38:44 2006
@@ -161,11 +161,9 @@
     
     public static void cancelledKey(SelectionKey key) {
         try {
-            ObjectReader ka = (ObjectReader)key.attachment();
             key.cancel();
             key.channel().close();
             key.attach(null);
-            if ( ka != null ) ka.finish();
         } catch (IOException e) {
             if (log.isDebugEnabled()) log.debug("", e);
             // Ignore
@@ -194,7 +192,7 @@
                     if ( ka != null ) {
                         long delta = now - ka.getLastAccess();
                         if (delta > (long) getTimeout() && (!ka.isAccessed()))
{
-                            log.warn("Channel key is registered, but has had no interest
ops for the last "+getTimeout()+" ms.");
+                            log.warn("Channel key is registered, but has had no interest
ops for the last "+getTimeout()+" ms. (cancelled:"+ka.isCancelled()+")");
                             ka.setLastAccess(now);
                             //key.interestOps(SelectionKey.OP_READ);
                         }//end if

Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReplicationThread.java
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReplicationThread.java?rev=419612&r1=419611&r2=419612&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReplicationThread.java
(original)
+++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReplicationThread.java
Thu Jul  6 09:38:44 2006
@@ -229,6 +229,11 @@
     }
 
     private void cancelKey(final SelectionKey key) {
+        ObjectReader reader = (ObjectReader)key.attachment();
+        if ( reader != null ) {
+            reader.setCancelled(true);
+            reader.finish();
+        }
         Runnable cx = new Runnable() {
             public void run() {
                 NioReceiver.cancelledKey(key);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message