You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by pe...@apache.org on 2007/01/26 10:17:40 UTC

svn commit: r500194 - /tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java

Author: pero
Date: Fri Jan 26 01:17:39 2007
New Revision: 500194

URL: http://svn.apache.org/viewvc?view=rev&rev=500194
Log:
Porting from StandardSession - bugfix 37356: Ensure sessions time out correctly. 

Modified:
    tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java

Modified: tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java?view=diff&rev=500194&r1=500193&r2=500194
==============================================================================
--- tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java (original)
+++ tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/session/DeltaSession.java Fri Jan 26 01:17:39 2007
@@ -44,6 +44,7 @@
 import javax.servlet.http.HttpSessionListener;
 
 import org.apache.catalina.Context;
+import org.apache.catalina.Globals;
 import org.apache.catalina.Manager;
 import org.apache.catalina.Session;
 import org.apache.catalina.SessionEvent;
@@ -253,6 +254,8 @@
      */
     protected transient int accessCount = 0;
 
+    private Object lock = new Object();
+
     // ----------------------------------------------------------- Constructors
     
     /**
@@ -644,12 +647,20 @@
 
         evaluateIfValid();
 
-        accessCount++;
+        if (Globals.STRICT_SERVLET_COMPLIANCE) {
+            synchronized (lock) {
+                accessCount++;
+            }
+        }
     }
 
     public void endAccess() {
         isNew = false;
-        accessCount--;
+        if (Globals.STRICT_SERVLET_COMPLIANCE) {
+            synchronized (lock) {
+                accessCount--;
+            }
+        }
         if(manager instanceof DeltaManager)
             ((DeltaManager)manager).registerSessionAtReplicationValve(this);
     }



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