https://bz.apache.org/bugzilla/show_bug.cgi?id=57501

--- Comment #29 from Massimo Manghi <mxman...@apache.org> ---
I'm not sure I understand all the details in your last comment.

If you look at the function Rivet_SendContent in src/apache-2/mod_rivet.c you
will see the AfterEveryScript (stored in rsc->after_every_script, where rsc is
the configuration record) is executed right after Rivet_ParseExecFile
regardless the status code returned by this function. The pointer storing the
script has to be non NULL to be fired.

abort_page sets an internal status flag and subsequent calls to abort_page have
no effect until the request has been served. The rationale for this is that the
parsed template (or also pure Tcl script for what it matters) is supposed to
interrupt execution immediately and hand the control on to the AbortScript from
where I don't see the point of calling abort_page again.

Then AfterEveryScript was introduced and now we passed it throught
Rivet_ExecuteAndCheck, which runs rsc->rivet_abort_script if abort_page is
called, so we should have two cases

 1) abort_page is invoked from the parsed page and then it should be
uneffective from that point on to the end a single request
 2) abort_oage is invoked from rsc->after_every_script and it should fire
rsc->rivet_abort_page anyway

 Does it match your tests? Do we want AbortPage scripts to be treated
differently when called from AfterEveryScript?

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscr...@tcl.apache.org
For additional commands, e-mail: rivet-dev-h...@tcl.apache.org

Reply via email to