Stuff has begun to pile up. I'm going to put it in a TODO list on the wiki before documenting it in the manual.

I think a new introductory section is needed. It could be titled something like "Understanding Rivet Request Processing" and it should explain the whole business. In fact it's not just a matter of writing a caveat about the ::request namespace. Child init and exit scripts don't run in the ::request namespace, and so do the AfterScript and BeforeScript, but also a Tcl script referenced through an explicit URL runs within global namespace, so there's more to say about it and it could be merged with the task of properly documenting how the new abort_page exception handling will work.

I can take it up, but I need time, not very long, but still some time to do it

 -- Massimo

On 02/10/2011 07:34 AM, Karl Lehenbauer wrote:
An experience user got burned by doing a package
> require inside a webpage and then later the httpd processes
> would malfunction because the procs got loaded into the
> request namespace and disappeared with it.  It can be extra
> confusion because sometimes the pages work and sometimes they
> don't, depending on which child gets the request.

That's how it works, and I don't see an easy way to change it.
> I think we should document it as a common pitfall, however.

We (flightaware) load all of our packages up front,
> in the global init script, and now, instead, the server init script.

Also, a  ... namespace eval :: {package require foo} ... should work.
> As we sort of replace global, perhaps we should replace package
> with a frontend.  That seems pretty scary, though.  Maybe best
> just to document the behavior and move on.


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




---------------------------------------------------------------------
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