Hi, in src/experimental there is an implementation of a basic toy module (with a reimplementation of the rivet Tcl channel) capable of running Tcl scripts with a worker MPM. The module is just a testbed for solutions involving Tcl interpreters and Apache threads and I hope it'll evolve in a new framework where current mod_rivet code will be refactored in a new module. It works even though is able to run just the same script. I tested it with 'ab' setting a quite high concurrency number. The mechanism for delivering Tcl interps to Apache threads was inspired by mod_perl (as George Petasis suggested 2 years ago), basically a list of interpreters is maintained and protected by a mutex and they are lent to an apache callback which runs within a thread.
The only problem remaining with this very simple module is with the execution of a script by calling Tcl_EvalObjEx which must be protected by a mutex. If I remove the mutex (and I want to because scripts run in independent interpreters and should be able to run without serialization) the server responds with an HTTP 104 code (connection reset by peer) after a random number of requests (<100). I don't understand why and I will try to figure it out in the next future -- Massimo --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
