You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bi...@apache.org on 2005/07/21 05:59:10 UTC

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler Generator.java

billbarker    2005/07/20 20:59:10

  Modified:    jasper2/src/share/org/apache/jasper/compiler Generator.java
  Log:
  Make certain that release is called for custom tags when tag-pooling is disabled.
  
  Fix for Bug #35696
  
  Revision  Changes    Path
  1.241     +9 -2      jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
  
  Index: Generator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
  retrieving revision 1.240
  retrieving revision 1.241
  diff -u -r1.240 -r1.241
  --- Generator.java	5 Apr 2005 23:14:43 -0000	1.240
  +++ Generator.java	21 Jul 2005 03:59:10 -0000	1.241
  @@ -2278,15 +2278,19 @@
               out.printin("if (");
               out.print(tagHandlerVar);
               out.println(
  -                ".doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE)");
  +                ".doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {");
               out.pushIndent();
  +            if(!n.implementsTryCatchFinally()) {
  +                out.printin(tagHandlerVar);
  +                out.println(".release();");
  +            }
               if (isTagFile || isFragment) {
                   out.printil("throw new SkipPageException();");
               } else {
                   out.printil((methodNesting > 0) ? "return true;" : "return;");
               }
               out.popIndent();
  -
  +            out.printil("}");
               // Synchronize AT_BEGIN scripting variables
               syncScriptingVars(n, VariableInfo.AT_BEGIN);
   
  @@ -2317,6 +2321,9 @@
                   out.print(".reuse(");
                   out.print(tagHandlerVar);
                   out.println(");");
  +            } else {
  +                out.printin(tagHandlerVar);
  +                out.println(".release();");
               }
   
               if (n.implementsTryCatchFinally()) {
  
  
  

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


Re: cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler Generator.java

Posted by Bill Barker <wb...@wilshire.com>.
----- Original Message ----- 
From: "Jan Luehe" <Ja...@Sun.COM>
To: "Tomcat Developers List" <to...@jakarta.apache.org>
Sent: Thursday, July 21, 2005 6:24 PM
Subject: Re: cvs commit: 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler 
Generator.java


> Bill,
>
> billbarker@apache.org wrote:
>> billbarker    2005/07/20 20:59:10
>>
>>   Modified:    jasper2/src/share/org/apache/jasper/compiler 
>> Generator.java
>>   Log:
>>   Make certain that release is called for custom tags when tag-pooling is 
>> disabled.
>>
>>   Fix for Bug #35696
>>
>>   Revision  Changes    Path
>>   1.241     +9 -2 
>> jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
>>
>>   Index: Generator.java
>>   ===================================================================
>>   RCS file: 
>> /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
>>   retrieving revision 1.240
>>   retrieving revision 1.241
>>   diff -u -r1.240 -r1.241
>>   --- Generator.java 5 Apr 2005 23:14:43 -0000 1.240
>>   +++ Generator.java 21 Jul 2005 03:59:10 -0000 1.241
>>   @@ -2278,15 +2278,19 @@
>>                out.printin("if (");
>>                out.print(tagHandlerVar);
>>                out.println(
>>   -                ".doEndTag() == 
>> javax.servlet.jsp.tagext.Tag.SKIP_PAGE)");
>>   +                ".doEndTag() == 
>> javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {");
>>                out.pushIndent();
>>   +            if(!n.implementsTryCatchFinally()) {
>>   +                out.printin(tagHandlerVar);
>>   +                out.println(".release();");
>>   +            }
>
> I believe the above 4 added lines need to be replaced with this:
>

Yeah, but but the previous code was simply throwing the tag away on 
SKIP_PAGE (at least for non-TCF tags), and I didn't want to dig to find out 
if it was doing it for a reason (especially since SKIP_PAGE happens almost 
never :).  I figured that if we're going to throw it away, we should at 
least call release on it first :).

>    +            if (!n.implementsTryCatchFinally()) {
>    +
>    +                if (isPoolingEnabled) {
>    +                    out.printin(n.getTagHandlerPoolName());
>    +                    out.print(".reuse(");
>    +                    out.print(tagHandlerVar);
>    +                    out.println(");");
>    +                } else {
>    +                    out.printin(tagHandlerVar);
>    +                    out.println(".release();");
>    +                }
>    +            }
>
>
> Jan
>
>
>>                if (isTagFile || isFragment) {
>>                    out.printil("throw new SkipPageException();");
>>                } else {
>>                    out.printil((methodNesting > 0) ? "return true;" : 
>> "return;");
>>                }
>>                out.popIndent();
>>   -
>>   +            out.printil("}");
>>                // Synchronize AT_BEGIN scripting variables
>>                syncScriptingVars(n, VariableInfo.AT_BEGIN);
>>
>>   @@ -2317,6 +2321,9 @@
>>                    out.print(".reuse(");
>>                    out.print(tagHandlerVar);
>>                    out.println(");");
>>   +            } else {
>>   +                out.printin(tagHandlerVar);
>>   +                out.println(".release();");
>>                }
>>
>>                if (n.implementsTryCatchFinally()) {
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
>
>
> 



This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL.  If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments.

In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail.


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


Re: cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler Generator.java

Posted by Jan Luehe <Ja...@Sun.COM>.
Bill,

billbarker@apache.org wrote:
> billbarker    2005/07/20 20:59:10
> 
>   Modified:    jasper2/src/share/org/apache/jasper/compiler Generator.java
>   Log:
>   Make certain that release is called for custom tags when tag-pooling is disabled.
>   
>   Fix for Bug #35696
>   
>   Revision  Changes    Path
>   1.241     +9 -2      jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
>   
>   Index: Generator.java
>   ===================================================================
>   RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
>   retrieving revision 1.240
>   retrieving revision 1.241
>   diff -u -r1.240 -r1.241
>   --- Generator.java	5 Apr 2005 23:14:43 -0000	1.240
>   +++ Generator.java	21 Jul 2005 03:59:10 -0000	1.241
>   @@ -2278,15 +2278,19 @@
>                out.printin("if (");
>                out.print(tagHandlerVar);
>                out.println(
>   -                ".doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE)");
>   +                ".doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {");
>                out.pushIndent();
>   +            if(!n.implementsTryCatchFinally()) {
>   +                out.printin(tagHandlerVar);
>   +                out.println(".release();");
>   +            }

I believe the above 4 added lines need to be replaced with this:

    +            if (!n.implementsTryCatchFinally()) {
    +
    +                if (isPoolingEnabled) {
    +                    out.printin(n.getTagHandlerPoolName());
    +                    out.print(".reuse(");
    +                    out.print(tagHandlerVar);
    +                    out.println(");");
    +                } else {
    +                    out.printin(tagHandlerVar);
    +                    out.println(".release();");
    +                }
    +            }


Jan


>                if (isTagFile || isFragment) {
>                    out.printil("throw new SkipPageException();");
>                } else {
>                    out.printil((methodNesting > 0) ? "return true;" : "return;");
>                }
>                out.popIndent();
>   -
>   +            out.printil("}");
>                // Synchronize AT_BEGIN scripting variables
>                syncScriptingVars(n, VariableInfo.AT_BEGIN);
>    
>   @@ -2317,6 +2321,9 @@
>                    out.print(".reuse(");
>                    out.print(tagHandlerVar);
>                    out.println(");");
>   +            } else {
>   +                out.printin(tagHandlerVar);
>   +                out.println(".release();");
>                }
>    
>                if (n.implementsTryCatchFinally()) {
>   
>   
>   
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> 


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