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]

Reply via email to