Author: remm
Date: Thu Aug 17 06:22:44 2006
New Revision: 432230

URL: http://svn.apache.org/viewvc?rev=432230&view=rev
Log:
- Calling allocate for no reason was not a very good idea (adding an accessor 
instead for now, bleh).
- Simplify the event method.

Modified:
    tomcat/tc6.0.x/trunk/java/org/apache/catalina/Wrapper.java
    tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
    tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapper.java

Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/Wrapper.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/Wrapper.java?rev=432230&r1=432229&r2=432230&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/Wrapper.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/Wrapper.java Thu Aug 17 
06:22:44 2006
@@ -217,6 +217,12 @@
 
 
     /**
+     * Return the associated servlet instance.
+     */
+    public Servlet getServlet();
+    
+    
+    /**
      * Return the value for the specified initialization parameter name,
      * if any; otherwise return <code>null</code>.
      *

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=432230&r1=432229&r2=432230&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java 
Thu Aug 17 06:22:44 2006
@@ -19,6 +19,8 @@
 
 import java.io.IOException;
 
+import javax.servlet.Servlet;
+
 import org.apache.catalina.CometProcessor;
 import org.apache.catalina.Context;
 import org.apache.catalina.Globals;
@@ -117,25 +119,16 @@
 
         if (request.getWrapper() != null) {
             
+            CometProcessor servlet = null;
+
             // Bind the context CL to the current thread
             if (request.getContext().getLoader() != null ) {
                 Thread.currentThread().setContextClassLoader
                         (request.getContext().getLoader().getClassLoader());
             }
             
-            CometProcessor servlet = null;
             try {
                 servlet = (CometProcessor) request.getWrapper().allocate();
-            } catch (Throwable t) {
-                log.error(sm.getString("coyoteAdapter.service"), t);
-                request.recycle();
-                response.recycle();
-                // Restore the context classloader
-                Thread.currentThread().setContextClassLoader
-                    (CoyoteAdapter.class.getClassLoader());
-                return false;
-            }
-            try {
                 if (error) {
                     servlet.error(request.getRequest(), 
response.getResponse());
                 } else {
@@ -167,6 +160,11 @@
                 // Restore the context classloader
                 Thread.currentThread().setContextClassLoader
                     (CoyoteAdapter.class.getClassLoader());
+                try {
+                    request.getWrapper().deallocate((Servlet) servlet);
+                } catch (Exception e) {
+                    log.error(sm.getString("coyoteAdapter.service"), e);
+                }
                 // Recycle the wrapper request and response
                 if (error || response.isClosed()) {
                     request.recycle();
@@ -225,7 +223,7 @@
                 
connector.getContainer().getPipeline().getFirst().invoke(request, response);
             }
 
-            if (request.getWrapper().allocate() instanceof CometProcessor 
+            if (request.getWrapper().getServlet() instanceof CometProcessor 
                     && !response.isClosed()) {
                 comet = true;
                 res.action(ActionCode.ACTION_COMET_BEGIN, null);

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapper.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapper.java?rev=432230&r1=432229&r2=432230&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapper.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapper.java Thu 
Aug 17 06:22:44 2006
@@ -750,6 +750,14 @@
 
 
     /**
+     * Return the associated servlet instance.
+     */
+    public Servlet getServlet() {
+        return instance;
+    }
+    
+    
+    /**
      * Allocate an initialized instance of this Servlet that is ready to have
      * its <code>service()</code> method called.  If the servlet class does
      * not implement <code>SingleThreadModel</code>, the (only) initialized



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to