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