Dimitry:

I still believe your patch is invalid, as it would amount to
synchronizing AT_BEGIN and NESTED variables after calling
doStartTag(). However, the spec explicitly mentions that for tag
handlers implementing BodyTag, those variables must not be
synchronized after doStartTag(), *only* after doInitBody().

When I run your example (without applying your patch), I get this result:

  doStartTag returns EVAL_BODY_INCLUDE
  null
  2nd
  3rd
  doStartTag returns EVAL_BODY_BUFFERED
  1st
  2nd
  3rd

The reason your are getting "null" in the case of doStartTag()
returning EVAL_BODY_INCLUDE is that in this case, doInitBody() is not
called, hence no synchronization.

However, if doStartTag() returns EVAL_BODY_BUFFERED,
doInitBody() is being called, and therefore synchronization does
take place.

Please let me know if you disagree.


Jan


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

Reply via email to