Author: sshafroi
Date: 2008-06-17 08:43:42 +0200 (Tue, 17 Jun 2008)
New Revision: 6695

Modified:
   trunk/war/src/main/java/no/sesat/search/http/filters/SiteLocatorFilter.java
Log:
Synchonize on session while creating request stack

Modified: 
trunk/war/src/main/java/no/sesat/search/http/filters/SiteLocatorFilter.java
===================================================================
--- trunk/war/src/main/java/no/sesat/search/http/filters/SiteLocatorFilter.java 
2008-06-16 09:39:25 UTC (rev 6694)
+++ trunk/war/src/main/java/no/sesat/search/http/filters/SiteLocatorFilter.java 
2008-06-17 06:43:42 UTC (rev 6695)
@@ -390,10 +390,13 @@
         if (request instanceof HttpServletRequest) {
             HttpSession session = ((HttpServletRequest) request).getSession();
 
-            Stack<ServletRequest> stack = (Stack<ServletRequest>) 
session.getAttribute(USER_REQUEST_STACK);
-            if (null == stack) {
-                stack = new Stack<ServletRequest>();
-                session.setAttribute(USER_REQUEST_STACK, stack);
+            Stack<ServletRequest> stack;
+            synchronized (session) {
+                stack = (Stack<ServletRequest>) 
session.getAttribute(USER_REQUEST_STACK);
+                if (null == stack) {
+                    stack = new Stack<ServletRequest>();
+                    session.setAttribute(USER_REQUEST_STACK, stack);
+                }
             }
 
             if (stack.size() > REQUEST_QUEUE_SIZE) {

_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits

Reply via email to