Στις 7/8/2012 03:22, ο/η Massimo Manghi έγραψε:
On Tue, 2012-08-07 at 02:43 +0300, Georgios Petasis wrote:
Dear Massimo,
I have managed to setup rivet in my pc, and works (sort of).
Everything seems to run, init.tcl gets executed, all packages are loaded
(including the two dlls), and then a critical error happens:
[Tue Aug 07 02:28:03 2012] [crit] (20014)Internal error:
Tcl_RegisterChannel: duplicate channel names
I assume that there is a problem with the MPM. I don't know what MPM is
used, but I would assume mpm_winnt (and not prefork). httpd -l shows:
Compiled in modules:
core.c
mod_win32.c
mpm_winnt.c
http_core.c
mod_so.c
How do you think we should proceed from this point?
Regards,
George
from http://httpd.apache.org/docs/2.2/mod/mpm_winnt.html
"This Multi-Processing Module (MPM) is the default for the Windows NT
operating systems. It uses a single control process which launches a
single child process which in turn creates threads to handle requests"
having a threaded worker answering requests you're certainly running
into problems with Rivet, as we never addressed this point. Apache 2.4
can select the MPM run time, which version of the server are you
running?
I am using 2.2, and there is a good reason for it: there is a windows
binary available in apache:
http://httpd.apache.org/download.cgi#apache24
Unfortunately, there is no windows download for 2.4. And If we are to
target windows users, we have to stick with what is available.
This raises the second question: why does not rivet support the
multi-threaded MPMs?
I mean apache is thread safe, tcl is thread safe, what is missing from
rivet?
Supposing that I want to make rivet thread-safe, what are the areas I
should concentrate my work on?
For sure there is a problem with the channel you register as output (I
have seen this error frequently enough even under linux in prefork
mode). If this is moved to thread specific storage, and each interpreter
gets its own file, everything will work?
Regards,
George
PS: I have made some minor changes to get the code compile under
windows. How will we proceed with merging my changes to rivet?
-- Massimo
---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscr...@tcl.apache.org
For additional commands, e-mail: rivet-dev-h...@tcl.apache.org