Στις 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

Reply via email to