On 05.02.2013 19:05, Graham Dumpleton wrote:
So the section of documentation you quote appears to support what I am saying
that Tcl_Finalize() still needs to be called. After the module is loaded and
initialised again, then Tcl_Init(), or whatever is used to create it again,
would be called to start over and allow new instance of interpreter to be
setup in parent process before new child processes are forked.
I do not think, Tcl_Init can (officially) be called after Tcl_Finalize. The
function is meant only for situations, when libtcl (or a shared library using
it) is itself being unloaded (think dlclose()).
As I asked before, is this being done in the Apache parent process or only in
the child processes? If it is all only going on in the child processes, the
point I am making is moot, but if the interpreter is being initialised in the
Apache parent process before the fork, then it would be relevant.
I don't see, why Tcl would be initialized in the main process. If it is, that's,
probably, a bug in itself.
But I'll await a response from mod_rivet maintainers.
-mi