From my scans of the RT code, I’m not too sure it is set up to share
resources well under mod_perl. There is a lot of embedded requires
within functions which causes code to be loaded at run time, rather
than at apache startup time. By making perl code load up at start
time, you get the benefit of sharing the memory needed for it.
Ideally, any code that is often used within RT should be loaded by
the webmux script. That is, anywhere you see a “use XXX” within
modules that WebRT needs, those should also be in the startup script.
I’m pretty confident that I have most everything necessary in the long list
of modules in webmux.pl. The later, repeated calls to use are ignored.
Speaking of “use …” lines, it seems that some of the code assumes
that this happens at run time not compile time. This is not true…
It happens at module compile-time. if a module is required part way
through program execution, its ‘use’ directives get evaluated then.
This is particularly useful when you don’t want to compile all 50 kloc
of RT for every invocation of the CLI.
The main case where this is different is with scrips. which are a whole
other kettle of fish.
Vivek Khera, Ph.D. Khera Communications, Inc.
Internet: khera@kciLink.com Rockville, MD +1-240-453-8497
AIM: vivekkhera Y!: vivek_khera http://www.khera.org/~vivek/
http://www.bestpractical.com/products/rt – Trouble Ticketing. Free.