cvs commit: modperl-2.0/t/response/TestModules cgi.pm cgiupload.pm

2002-04-11 Thread stas

stas02/04/11 04:08:45

  Modified:t/filter/TestFilter api.pm buckets.pm input_body.pm
input_msg.pm lc.pm reverse.pm
   t/hooks/TestHooks access.pm authen.pm authz.pm fixup.pm
headerparser.pm init.pm trans.pm
   t/protocol/TestProtocol echo.pm echo_filter.pm eliza.pm
   t/response/TestAPI access.pm aplog.pm conn_rec.pm
lookup_uri.pm lookup_uri2.pm module.pm
r_subclass.pm request_rec.pm response.pm rutil.pm
send_fd.pm sendfile.pm server_rec.pm server_util.pm
uri.pm
   t/response/TestAPR base64.pm date.pm netlib.pm perlio.pm
pool.pm string.pm table.pm util.pm uuid.pm
   t/response/TestApache cgihandler.pm compat.pm compat2.pm
conftree.pm post.pm read.pm scanhdrs.pm
subprocess.pm write.pm
   t/response/TestDirective env.pm perlmodule.pm perlrequire.pm
setupenv.pm
   t/response/TestModperl dir_config.pm endav.pm env.pm exit.pm
getc.pm pnotes.pm print.pm printf.pm readline.pm
sameinterp.pm
   t/response/TestModules cgi.pm cgiupload.pm
  Log:
  tidy up tests:
  - fetch/use Apache::OK instead of return 0;
  - use() all modules used in tests even if preloaded elsewhere
  - use warnings FATAL = 'all' everywhere
  - fix warnings exposed by enabling warnings
  
  Revision  ChangesPath
  1.6   +4 -0  modperl-2.0/t/filter/TestFilter/api.pm
  
  Index: api.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/api.pm,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- api.pm5 Dec 2001 19:57:29 -   1.5
  +++ api.pm11 Apr 2002 11:08:43 -  1.6
   -3,10 +3,14 
   use strict;
   use warnings FATAL = 'all';
   
  +use Apache::RequestRec ();
  +use Apache::RequestIO ();
   use Apache::Filter ();
   use Apache::FilterRec ();
   
   use Apache::Test;
  +
  +use Apache::Const -compile = 'OK';
   
   my $response_data = blah blah blah;
   
  
  
  
  1.6   +6 -1  modperl-2.0/t/filter/TestFilter/buckets.pm
  
  Index: buckets.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/buckets.pm,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- buckets.pm29 Mar 2002 16:16:43 -  1.5
  +++ buckets.pm11 Apr 2002 11:08:43 -  1.6
   -3,10 +3,15 
   use strict;
   use warnings FATAL = 'all';
   
  -use Test;
  +use Apache::Test;
  +
  +use Apache::RequestRec ();
  +use Apache::RequestIO ();
   use Apache::Filter ();
   use APR::Brigade ();
   use APR::Bucket ();
  +
  +use Apache::Const -compile = 'OK';
   
   sub handler {
   my($filter, $bb) = _;
  
  
  
  1.11  +5 -2  modperl-2.0/t/filter/TestFilter/input_body.pm
  
  Index: input_body.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/input_body.pm,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- input_body.pm 29 Mar 2002 16:16:43 -  1.10
  +++ input_body.pm 11 Apr 2002 11:08:43 -  1.11
   -5,10 +5,13 
   
   use base qw(Apache::Filter); #so we inherit MODIFY_CODE_ATTRIBUTES
   
  -use Apache::Const -compile = qw(M_POST);
  -use APR::Const -compile = ':common';
  +use Apache::RequestRec ();
  +use Apache::RequestIO ();
   use APR::Brigade ();
   use APR::Bucket ();
  +
  +use Apache::Const -compile = qw(OK M_POST);
  +use APR::Const -compile = ':common';
   
   sub handler : FilterRequestHandler {
   my($filter, $bb, $mode, $block, $readbytes) = _;
  
  
  
  1.11  +5 -0  modperl-2.0/t/filter/TestFilter/input_msg.pm
  
  Index: input_msg.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/input_msg.pm,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- input_msg.pm  29 Mar 2002 16:16:43 -  1.10
  +++ input_msg.pm  11 Apr 2002 11:08:43 -  1.11
   -5,8 +5,13 
   
   use base qw(Apache::Filter);
   
  +use Apache::RequestRec ();
  +use Apache::RequestIO ();
   use APR::Brigade ();
   use APR::Bucket ();
  +
  +use Apache::Const -compile = 'OK';
  +use APR::Const -compile = ':common';
   
   my $from_url = '/input_filter.html';
   my $to_url = '/TestFilter::input_msg::response';
  
  
  
  1.3   +3 -1  modperl-2.0/t/filter/TestFilter/lc.pm
  
  Index: lc.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/lc.pm,v
  retrieving revision 1.2
  retrieving 

Re: alarms

2002-04-11 Thread Stas Bekman

Damyan Ivanov wrote:
 On Thu, Apr 11, 2002 at 12:30:53AM +0800 Stas Bekman wrote:
 
mire wrote:

I wish to know 2 things about mod_perl

1) what happens when you set an alarm for lets say 30 seconds and the 
request
finishes in 20 ? Since apache child is very likely still alive is mod_perl 
too ?

You don't set alarm around the request, do you? You set the alarm for a 
certain code snippet and you reset it to 0 when it's done before the 
alarm went off. For runaway process control, see Apache::Watchdog::RunAway
 
 
 OK, but I am really curious. What really happens if I intentionally set
 the alarm to ring after the request has finished? For example if I want
 something to hapen if apache child is idle for more than 15 minutes.

Though I've never tried doing this, I suppose this will just work,
unless something disables/overrides your alarm sighandler.
SIGALRM is a normal process level SIG after all. Think of a mod_perl
process as a process that doesn't quit but just hangs there in a sort of
while loop, waiting for something to crunch on.

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com




How to cancel AccelNoPass in mod_accel

2002-04-11 Thread Philip Mak

Does anyone know how I can cancel AccelNoPass in mod_accel?

I have the following configuration in httpd.conf:

AccelNoPass ~\*.cgi$ ~\*.html$

VirtualHost ...
ProxyPass / http://localhost:8001/
...
/VirtualHost

I want to make it so that inside the VirtualHost container, ~\*.cgi
will not be in AccelNoPass. (The reason I have ~\*.cgi in AccelNoPass
is because there's some other VirtualHosts that shouldn't have it
passed.)

Is it possible to do this?



Apache::ServerUtil pb in modperl2

2002-04-11 Thread pascal barbedor

Hi thanks for preceeding answer

I had missed this doc.

I have a problem with Apache::ServerUtil though :

when using $s-dir_config('some') i have this message (and apache segfaults)
:

Attempt to free unreferenced scalar at .. line 17

i have installed modperl through ppd, so have not the t/report procedure
i am under win2k ppd from theoryx5, ASperl build 631

for now the only lines in httpd.conf concerning modperl are

perlsetvar statpath path
perlrequire startup.pl

then,
in startup.pl :
use Apache2;
use Apache::ServerUtil();
use Apache::Const();

use Mymodule();
--

in Mymodule.pm

use Apache::ServerUtil;
my $s=Apache-server;
[and the incriminated line 17: ] my $base=$s-dir_config('StatPath');



pascal






Re: Apache::ServerUtil pb in modperl2

2002-04-11 Thread Stas Bekman

pascal barbedor wrote:
 Hi thanks for preceeding answer
 
 I had missed this doc.
 
 I have a problem with Apache::ServerUtil though :
 
 when using $s-dir_config('some') i have this message (and apache segfaults)

can you get a backtrace and send here?

Also try building from scratch and see if 'make test' passes for you. 
That would be the best help, instead of trying to use pre-compiled 
binaries at this point.

 Attempt to free unreferenced scalar at .. line 17
 
 i have installed modperl through ppd, so have not the t/report procedure
 i am under win2k ppd from theoryx5, ASperl build 631


__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com




how to make apache server to understand the perl commands in httpsd.conf

2002-04-11 Thread Mrajesh

Hi,

We are working on apache-ssl(https).

/usr/local/apache/bin/httpsdctl start

is working with out any perl related commands in httpsd.conf file.

We have used apache_1.3.12, openssl-9.5a,apache_1.3.12+ssl-1.40 for
FreeBSD
4.1 system.

Our html files include both html code and perl code.

So, to run both the codes, we included the commands like

PerlSetvar  MasonCompRoot /usr/local/apache/htdocs
PerlSetVar MasonDataDir /usr/local/apache/mason
PerlModule HTML::Mason::ApacheHandler

in httpsd.conf file.

Now, when we are trying to start the HTTPS, it is giving the errors like

Invalid command PerlSetVar either mis-spelled or server is not
configured
correctly

Could you please suggest me to run Perl related commands in httpsd.conf
file.

Regards,
Rajesh










How to reload PERL module in all Apache children

2002-04-11 Thread Waldek Grudzien

Hello,

I was wondering if there is a possibility to reload PERL module compiled
into Apache
with Apache::Registry
(and I want to reload this  module in all Apache children processes) by
running reload-program once.

For example Apache::Reload must be set as PerlInitHandler, so it's handler
method is run every time request comes to Apache. What I'd like to do is to
reload specified (or all) module by running the program ONCE.

I tried using something like perl-status:

Location /mod-perl-reload
 SetHandler perl-script
 PerlHandler Apache::MyReloadModule
/Location

where MyReloadModule's handler was deleting specified module from %INC and
reloading it by require, but it didn't satisfy me becouse changes weren't
seen in apache children processess (at least I think so),

so I wrote something like this in MyReloadModule:

sub handler {
my $r = shift;
Apache-request($r);

.
.sending HTML
.

foreach my $k (keys %INC) {
$r-print($kBR);
}
$r-print(PID $$);

$r-print(/BODY/HTML);

}

and I realised that changes I have made to %INC in one child process aren't
seen in another one.

So my problem can be set in another way:
Do apache children communicate between themselves?

Is it possible to write such a reloader script as I wanted to write?

Maybe somebody already done this?

Thanks in advance,

Tomek Paterek




Re: How to reload PERL module in all Apache children

2002-04-11 Thread Stas Bekman

Waldek Grudzien wrote:
 Hello,
 
 I was wondering if there is a possibility to reload PERL module compiled
 into Apache
 with Apache::Registry
 (and I want to reload this  module in all Apache children processes) by
 running reload-program once.
 
 For example Apache::Reload must be set as PerlInitHandler, so it's handler
 method is run every time request comes to Apache. What I'd like to do is to
 reload specified (or all) module by running the program ONCE.
 
 I tried using something like perl-status:
 
 Location /mod-perl-reload
  SetHandler perl-script
  PerlHandler Apache::MyReloadModule
 /Location
 
 where MyReloadModule's handler was deleting specified module from %INC and
 reloading it by require, but it didn't satisfy me becouse changes weren't
 seen in apache children processess (at least I think so),
 
 so I wrote something like this in MyReloadModule:
 
 sub handler {
 my $r = shift;
 Apache-request($r);
 
 .
 .sending HTML
 .
 
 foreach my $k (keys %INC) {
 $r-print($kBR);
 }
 $r-print(PID $$);
 
 $r-print(/BODY/HTML);
 
 }
 
 and I realised that changes I have made to %INC in one child process aren't
 seen in another one.
 
 So my problem can be set in another way:
 Do apache children communicate between themselves?

no

 Is it possible to write such a reloader script as I wanted to write?

no

 Maybe somebody already done this?

see above
The processes are forked and don't share the perl iterpreter, that's why 
it's impossible to do what you are trying to do.

If you try to reload data it's doable by many ways (IPC, dbm, etc), not 
the code.

Currently Apache::Reload or its equivalent your only solution. With 
mod_perl 2.0 it'll be doable, if you run a single threaded server.

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com




Re: How to reload PERL module in all Apache children

2002-04-11 Thread Sreeji K Das

Hi Stas,
 
  I was wondering if there is a possibility to
 reload PERL module compiled
  into Apache
  with Apache::Registry
  (and I want to reload this  module in all Apache
 children processes) by running reload-program once.
 
 Currently Apache::Reload or its equivalent your only
 solution. With 
 mod_perl 2.0 it'll be doable, if you run a single
 threaded server.
So you mean any modules changed can be reloaded to all
children, without actually terminating and starting
the server ?  (or does single threaded means there are
no children ?)

Sreeji

__
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com



Re: How to reload PERL module in all Apache children

2002-04-11 Thread Stas Bekman

Sreeji K Das wrote:
 Hi Stas,
  
 
I was wondering if there is a possibility to

reload PERL module compiled

into Apache
with Apache::Registry
(and I want to reload this  module in all Apache

children processes) by running reload-program once.

Currently Apache::Reload or its equivalent your only
solution. With 
mod_perl 2.0 it'll be doable, if you run a single
threaded server.
 
 So you mean any modules changed can be reloaded to all
 children, without actually terminating and starting
 the server ?  (or does single threaded means there are
 no children ?)

Sorry, I should have said within a single process with multiple threads.
I just said it'll be doable because of threads, (which all share the 
same process memory). I'm not sure if this already works this way. Give 
it a try, Apache::Reload is a now in the 2.0 core.

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com




Re: [Fwd: Re: How to reload PERL module in all Apache children]

2002-04-11 Thread dougm

if you use Apache::Reload with a threaded MPM and multiple interpreters, 
the modules will be reloaded by each interpreter as they are used, not 
every interpreter all at once.  similar to 1.x where each child has 
its own interpreter, the modules are reloaded as each kid is hit with a 
request.

note that if a module is loaded at startup, the syntax tree of each 
subroutine is shared between interpreters (big win), but each subroutine 
has its own padlist (where lexical my variables are stored).  once 
Apache::Reload reloads a module, this sharing goes away and each 
interpreter will have its own copy of the syntax tree for the given 
subroutines.





Re: [Fwd: Re: How to reload PERL module in all Apache children]

2002-04-11 Thread Stas Bekman

[EMAIL PROTECTED] wrote:
 if you use Apache::Reload with a threaded MPM and multiple interpreters, 
 the modules will be reloaded by each interpreter as they are used, not 
 every interpreter all at once.  similar to 1.x where each child has 
 its own interpreter, the modules are reloaded as each kid is hit with a 
 request.

thanks for correcting me. It's all about interpreters and not threads, 
so it's the same for the code with forked and threaded httpds.

But if talk about futuristic Solar variables (perl globals shared 
between threads). what if a solar variable is a reference to CODE? Can 
this be shared? If so, will reloading this variable in one interpreter 
affect others?

Also if we put the sharing aside for a moment and assuming that we have 
a pool of interpreters with idle interpreters in it, there can be a 
thread that monitors changed modules and update the idle interpreters by 
making them reload the code and put them in the head of the list. This 
should save the overhead of reloading during a request. Does this make 
sense?



__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com




mod_perl and DB2

2002-04-11 Thread David Shrewsbury

Hey gang. Couldn't find an answer to this in the archives. We have a
DB2 database that we access via mod_perl scripts.  We have been
getting errors in the Apache log files every morning whenever we
first try to access the database. The error is:

[Thu Apr 11 09:09:49 2002] null: DBD::DB2::db selectall_arrayref failed:
[IBM][C
LI Driver] CLI0108E  Communication link failure. SQLSTATE=40003 at
/usr/local/ap
achessl/perl/reports/trans_history.pl line 90

It takes a restart of the web server to eliminate this problem.
Is this the Morning Bug that I am encountering?  I looked at the
DB2.pm module and it appears that the ping() method has been
implemented so I would think that this would prevent the Morning
Bug from showing up.  Should I reimplement the ping() method
according to the Apache::DBI manpage?

-David




Re: [Fwd: Re: How to reload PERL module in all Apache children]

2002-04-11 Thread dougm

On Fri, 12 Apr 2002, Stas Bekman wrote:
 
 But if talk about futuristic Solar variables (perl globals shared 
 between threads). what if a solar variable is a reference to CODE? Can 
 this be shared? If so, will reloading this variable in one interpreter 
 affect others?

even if that would work, it would kill performance due to required mutex 
locking.  and that locking would need to happen in the perl core, unlike
simple scalars, arrays and hashes.

 Also if we put the sharing aside for a moment and assuming that we have 
 a pool of interpreters with idle interpreters in it, there can be a 
 thread that monitors changed modules and update the idle interpreters by 
 making them reload the code and put them in the head of the list. This 
 should save the overhead of reloading during a request. Does this make 
 sense?

there already is a plan to have a low-priority thread that monitors idle 
interpreters.  this would be a pluggable interface, so you can do whatever 
you want with the interpreter via callback hooks.  but that'll all wait 
until well after everything else is solid with ithreads, including and 
most important: perl 5.8.x




Re: [Fwd: Re: How to reload PERL module in all Apache children]

2002-04-11 Thread Perrin Harkins

[EMAIL PROTECTED] wrote:
 On Fri, 12 Apr 2002, Stas Bekman wrote:
  
 
But if talk about futuristic Solar variables (perl globals shared 
between threads). what if a solar variable is a reference to CODE? Can 
this be shared? If so, will reloading this variable in one interpreter 
affect others?
 
 
 even if that would work, it would kill performance due to required mutex 
 locking.  and that locking would need to happen in the perl core, unlike
 simple scalars, arrays and hashes.

Does it look you'll be able to get the solar variables idea to work for 
those data types?

- Perrin




Challenging things to do: SIGSEGV catcher and backtrace extractor

2002-04-11 Thread Stas Bekman

A few moons ago we have discussed on the dev list a tool for automatic 
segfault detection (including multiple segfaults during 'make test') and 
core backtrace generation. I'm quite frankly tired of explaining again 
and again that we need a core file backtrace, how to get the core file 
dumped and generating trace (no offense, just facts). I'm sure there is 
a better way to do. If we can automate this process, like many other 
apps do (e.g. gnome/kde apps) this will save us a lot of traffic on the 
list and frustration on users' behalf and make us all happier.

I've planned on working on this idea for a long time, but other things 
seem to get on my way. (like helping getting the core dumped :)

Any takers?

If you are interested, here is some more info:

There are two situations when we want this.

1. during 'make test'. which is sort of very easy, because the new test 
suite already scans for core files. And there is a perl module on CPAN 
that automatically extracts the backtrace from a given core file (which 
almost works). The catch is that there can be more than one core dumped 
and they all be overwritten by the last core dumped. Therefore it's 
better to install a SIGSEGV to do the work. You will probably need to do 
it in XS (could write a prototype with Inline). I think I've tried in 
Perl and it didn't work (since SIGSEGV is caught on the C level by 
httpd). If this works, you will be able to generate as many backtraces 
as the number of segfaults

2. during normal use. Those users who get segfaults will load something 
like Apache::SEGV2BT and it'll write a backtrace every time segfault 
happens.

Therefore it's most likely case 2 which can be used as case 1.

For generating segfaults for testing, see my Bad::Segv module, updated 
by Kevin A. McGrail at http://www.peregrinehw.com/downloads/apache/mod_perl
and discussed here:
http://perl.apache.org/preview/modperl-docs/dst_html/docs/2.0/devel/debug_c/debug_c.html#Getting_the_core_File_Dumped

p.s. I'm talking about mod_perl 2.0 mainly, but it probably should be 
easy to make it work for 1.x as well once it works for 2.0.

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com




Re: [Fwd: Re: How to reload PERL module in all Apache children]

2002-04-11 Thread dougm

On Thu, 11 Apr 2002, Perrin Harkins wrote:
 
 Does it look you'll be able to get the solar variables idea to work for 
 those data types?

i had a simple prototype way back that sorta worked for simple scalars, 
probably won't take it any further now that there is threads::shared in 
5.7.x.  haven't tried it but i believe the concept is the same.




[ModPerl causing segfaults]

2002-04-11 Thread Drew Wymore








I built apache using mod_perl as a
DSO module. When I start apache and someone attempts to access my website, it
works but only for an instant and then they receive page cannot be
displayed, but only with html documents, php
docs show up fine. When I looked into my logs this what I found 

[Wed Apr 10 18:05:34 2002] [notice] child pid 27804 exit
signal Segmentation fault (11)



In tracing back and asking a few questions in IRC, I
commented out the loading of the mod_perl module and
this behavior stops happening. Any good pointers as to where I can find a
solution to this problem?



Reference

Apache 1.3.19

Mod_perl 1.26

Php 4.1.2



Thanks,

Drew








mod_perl Cook Book

2002-04-11 Thread Rasoul Hajikhani

Folks,
I got my mp cb last night and it looks like a good read. Thanks to all
of you who responded and recommended the book.
-r



Re: Challenging things to do: SIGSEGV catcher and backtrace extractor

2002-04-11 Thread Doug MacEachern

On Fri, 12 Apr 2002, Stas Bekman wrote:
 
 If you read the rest of the post I mention it (without telling the name 
 :). The problem with this module is that it's useful only after you have 
 the core file. which is not good, because (as I've already explained):

it's important to mention Devel::CoreStack, as it is a good starting 
point.
 
 1. Many users have problems getting the core file dumped

then there'd be no way to automate generating a stacktrace anyhow.

 2. There can be multiply segfaults with different causes which will 
 overwrite each other, so we want to catch SEGVs as they happen.

that's ok, we'll deal with one at time.

 Not talking about the fact that this module is not slick, e.g. you need 
 manual interaction to help it get to the trace. (it shows the gdb's 
 *more* pager for long output of loading symbols).

don't have to use the module as-is, but there is plenty of logic in there 
that can be borrowed, rather than figuring out everything from scratch.





Re: apxs to build modperl2

2002-04-11 Thread Doug MacEachern

On Thu, 11 Apr 2002, Randy Kobes wrote:
 
 perl Makefile.PL MP_AP_PREFIX=C:\Apache2 MP_GENERATE_XS=1

note that MP_GENERATE_XS=1 is the default, no need to specify it anymore.

PerlSwitches -Mblib=C:\Apache2

or:
PerlModule Apache2




Re: [ModPerl causing segfaults]

2002-04-11 Thread Doug MacEachern

sounds like the largefiles issue, you should have seen this warning during 
the build:

Your Perl is uselargefiles enabled, but Apache is not, suggestions:
*) Rebuild mod_perl with Makefile.PL PERL_USELARGEFILES=0
*) Rebuild Apache with CFLAGS=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
*) Rebuild Perl with Configure -Uuselargefiles
*) Let mod_perl build Apache (USE_DSO=1 instead of USE_APXS=1)

easiest fix is the 1st option.




Re: Challenging things to do: SIGSEGV catcher and backtrace extractor

2002-04-11 Thread Stas Bekman

Doug MacEachern wrote:
 On Fri, 12 Apr 2002, Stas Bekman wrote:
  
 
If you read the rest of the post I mention it (without telling the name 
:). The problem with this module is that it's useful only after you have 
the core file. which is not good, because (as I've already explained):
 
 
 it's important to mention Devel::CoreStack, as it is a good starting 
 point.

true, as it has the config for a few known debuggers, but otherwise it 
just invokes the debugger and pipes the 'bt' or equivalent command to it 
and grabs the output.

1. Many users have problems getting the core file dumped
 
 
 then there'd be no way to automate generating a stacktrace anyhow.

You can get a backtrace if you run the process under debugger without 
dumping a core file. No special setup required. I was thinking to attach 
the debugger on SIGSEGV event. Is it too late? I see certain gnome apps 
failing and they ask you if you want to get the stack, without me doing 
anything at all. That's what I want for modperl. You say it's not possible?

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com




Re:Apache::ServerUtil pb in modperl2

2002-04-11 Thread pascal barbedor



 How I built it on Win32, after building and installing httpd-2 to
 C:\Apache2, is

 perl Makefile.PL MP_AP_PREFIX=C:\Apache2 MP_GENERATE_XS=1
 nmake
 nmake install



 On Win32 there were some problems for me in running the tests via
 'nmake test'; some Apache2 modules needed to be added to be
 loaded early on in the generated httpd.conf, and the path to
 mime.types got mangled. I'll work on getting a patch for this.
 Even after this fix, 'nmake test' hung after about
 t/apache/post.t, although running it manually as, eg,
perl -Mblib t/TEST t/apache/post.t
 worked, in this particular case.

 best regards,
 randy
thanks for the tip.

I build apache 2.0.35 with debug
I build modperl2 (1.99_01) with :

perl Makefile.PL MP_AP_PREFIX=g:\Apache2 MP_INST_APACHE2=1
nmake
nmake install

all builds ok
nmake test :
cgihandler ok
compat ok
compat2 ok
conftree  HANGS, then I stop with CTRL-C and there is an unhandled
exception
cannot continue the tests

perl -Mblib t/TEST t/apache/conftree.t run manually says ok
others picked randomly say ok (perlrequire.t for instance)

when testing my own modules, I still have the error attempt to free
unreferenced  scalar at line 17
[L17] my $base=$s-dir_config('some');
 this correspond to a perl message p923 camel book.

there is no more apache segfault so i cannot give a backtrace (anyway how to
doit with vc6 ?)

in httpd.conf I just have:
perlsetvar some thing
perlrequire startup.pl

and nothing more.

in startup.pl:
use Apache2;
use Apache::ServerUtil();
use Mymodule;

and it is Mymodule line 17 which causes the error message

best regards
pascal








Storable and Class::MethodMaker under mod_perl

2002-04-11 Thread Matthew Pressly

I ran into a strange inconsistency in interaction between Storable and 
Class::MethodMaker between a development and production server that are both running 
builds of perl, mod_perl, and apache from the same source files.  On the development 
server, the following code executes without error, on the production server it gives a 
fatal error because the Class::MethodMaker list accessor sees itself being called in 
array context and returns an array rather than an array reference.  The scalar appears 
to be called in scalar context on the working system.  Has anyone else seen this type 
of anomaly?

I think the correct behavior is actually the failing case that I get on the production 
server.  If I run the code from the command line on the development machine (using the 
perl interpreter from the same build), I get a fatal error with the 'not a reference' 
method on the Storable::freeze line.

I am using Class::MethodMaker version 1.05 and Storable version 1.014 on both machines.

package PackageName;
 use Class::MethodMaker
 list = [ qw( panel_list ) ], ...,
;

#-
sub _insert {
...
use Storable;
my $s = Storable::freeze( $self-panel_list );  # Fails on this line, saying 'not a 
reference'
}

The development box (on which the code works) has the following configuration:

Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
  Platform:
osname=linux, osvers=2.4.10-4gb, archname=i686-linux
uname='linux garnet 2.4.10-4gb #1 fri sep 28 17:20:21 gmt 2001 i686 unknown '
config_args=''
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
  Compiler:
cc='cc', ccflags ='-fno-strict-aliasing -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-fno-strict-aliasing'
ccversion='', gccversion='2.95.3 20010315 (SuSE)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=4, usemymalloc=n, prototype=define
  Linker and Libraries:
ld='cc', ldflags =''
libpth=/lib /usr/lib
libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lc -lcrypt -lutil
perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil
libc=, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
cccdlflags='-fpic', lddlflags='-shared'

The production server has the following configuration:
Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
  Platform:
osname=linux, osvers=2.4.0-64gb-smp, archname=i686-linux
uname='linux eqr002 2.4.0-64gb-smp #1 smp wed jan 24 15:52:30 gmt 2001 i686 
unknown '
config_args=''
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
  Compiler:
cc='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='2.95.2 19991024 (release)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=4, usemymalloc=n, prototype=define
  Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lc -lcrypt -lutil
perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil
libc=, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'




Matthew Pressly




Re: Challenging things to do: SIGSEGV catcher and backtrace extractor

2002-04-11 Thread Doug MacEachern

On Fri, 12 Apr 2002, Stas Bekman wrote:
 
 You can get a backtrace if you run the process under debugger without 
 dumping a core file. No special setup required. I was thinking to attach 
 the debugger on SIGSEGV event. Is it too late? I see certain gnome apps 
 failing and they ask you if you want to get the stack, without me doing 
 anything at all. That's what I want for modperl. You say it's not possible?

anything is possible of course.  but then you have to run the tests with 
httpd running under gdb, not something that should be done by default.
maybe you don't need gdb either, i dunno, if gnome has a trick up its 
sleeve, might be worth looking at.




RE: [ModPerl causing segfaults]

2002-04-11 Thread Drew Wymore

Thank you Doug this appears to have cleaned up the situation very
nicely. :)

Drew

-Original Message-
From: Doug MacEachern [mailto:[EMAIL PROTECTED]] 
Sent: Thursday, April 11, 2002 10:26 AM
To: Drew Wymore
Cc: [EMAIL PROTECTED]
Subject: Re: [ModPerl causing segfaults]

sounds like the largefiles issue, you should have seen this warning
during 
the build:

Your Perl is uselargefiles enabled, but Apache is not, suggestions:
*) Rebuild mod_perl with Makefile.PL PERL_USELARGEFILES=0
*) Rebuild Apache with CFLAGS=-D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64
*) Rebuild Perl with Configure -Uuselargefiles
*) Let mod_perl build Apache (USE_DSO=1 instead of USE_APXS=1)

easiest fix is the 1st option.




Challenging things to do: SIGSEGV catcher and backtrace extractor

2002-04-11 Thread Kevin A. McGrail

 Date: Fri, 12 Apr 2002 00:24:11 +0800
 To: [EMAIL PROTECTED]
 From: Stas Bekman [EMAIL PROTECTED]
 Subject: Challenging things to do: SIGSEGV catcher and backtrace extractor
 Message-ID: [EMAIL PROTECTED]

 A few moons ago we have discussed on the dev list a tool for automatic
 segfault detection (including multiple segfaults during 'make test') and
 core backtrace generation. I'm quite frankly tired of explaining again
 and again that we need a core file backtrace, how to get the core file
 dumped and generating trace (no offense, just facts). I'm sure there is
 a better way to do. If we can automate this process, like many other
 apps do (e.g. gnome/kde apps) this will save us a lot of traffic on the
 list and frustration on users' behalf and make us all happier.

While I can't step up to the plate to help on development because I am still working 
on GETTING a
core file, I can second the motion.  The frustration in getting a good working core 
file to trace
has been enormous and I am neither a newbie nor someone who gives up easily.

Regards,
KAM





Re: Challenging things to do: SIGSEGV catcher and backtrace extractor

2002-04-11 Thread Daniel Jacobowitz

On Fri, Apr 12, 2002 at 02:09:44AM +0800, Stas Bekman wrote:
 Doug MacEachern wrote:
 On Fri, 12 Apr 2002, Stas Bekman wrote:
  
 
 If you read the rest of the post I mention it (without telling the name 
 :). The problem with this module is that it's useful only after you have 
 the core file. which is not good, because (as I've already explained):
 
 
 it's important to mention Devel::CoreStack, as it is a good starting 
 point.
 
 true, as it has the config for a few known debuggers, but otherwise it 
 just invokes the debugger and pipes the 'bt' or equivalent command to it 
 and grabs the output.
 
 1. Many users have problems getting the core file dumped
 
 
 then there'd be no way to automate generating a stacktrace anyhow.
 
 You can get a backtrace if you run the process under debugger without 
 dumping a core file. No special setup required. I was thinking to attach 
 the debugger on SIGSEGV event. Is it too late? I see certain gnome apps 
 failing and they ask you if you want to get the stack, without me doing 
 anything at all. That's what I want for modperl. You say it's not possible?

Sure, that's possible from the SEGV handler.

-- 
Daniel Jacobowitz   Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer



Re: keeping client images private

2002-04-11 Thread Todd Goldenbaum

I keep a unique 'filestamp' in the database under each customer-- a 32-digit
randomly-generated number that then can be used either as a part of image
filenames, or as a directory name which contains a customer's images.  

That way, in order for one customer to see another's images, they'd either 
have to watch over the other customer's shoulder and write down the filestamp,
or they'd have to make a really good guess  ;)

todd
On Tue, 11 Sep 2001, will trillich wrote:

 y'all seem to have some clever brains out here, so i'm wondering
 if some of you can offer suggestions--
 
 what's a good clean way to keep images private per customer?
 
 i'm using mod_perl and HTML::Mason with session cookies, but
 coming up with a paradigm for storing and revealing images
 privately has got me a bit flummoxed.
 
   mr. smith has pix which he can see when he logs in to the
   website, and mr. brown has pix of his own, but neither can
   see the other's images. each customer can have two levels of
   imagery (main images/subsidiary images).
 
 i could have a handler intercept image requests and deny access
 if session-user isn't valid ... should i just make an apache
 alias to handle images as if they're from a certain subdir? and
 then use mod_perl to redirect the requests to the actual images
 internally?
 
 or actually store the images in actual subdirs of the
 documentroot?
 
 is there a better/faster/cheaper way?
 
 i'm sure there's more than one way to do this -- and before i
 take the likely-to-be-most-circuituitous route, i thought i'd
 cull advice from the clever minds on this list...
 
 




Trapping browser events

2002-04-11 Thread Martin Harriss

I am using Embperl on an intranet system to perform complex database 
searches and display the results.

My problem is that, depending on the parameters given by the user, some 
searches can take some time - returning thousands of rows, and there is a 
danger that the user will hit the stop button, execute the Back command or 
even close the browser session altogether.  If this happens at the wrong 
time, an oracle connection could have been made, but no SQL sent to it, 
leaving an Oracle process hanging there.

I need to be able to trap these browser events, and I can then call a 
cleanup routine to close any database connections.  I can use the 
Javascript onUnload event, I can't figure how to commmuncate with the Perl 
process.

Any ideas would be welcome.

Martin Harriss
Cambridge UK



How to reload module in all Apache children.

2002-04-11 Thread pater




Hi folks,

I was wondering if there is a possibility to reload perl 
module(and I want reloaded module in all Apache children processes) by 
runningreload-program once.

For example Apache::Reload must be set as PerlInitHandler, so 
it's handler method is run every time request comes to Apache. What I'd like to 
do is to reload specified (or all) module by runningthe program 
ONCE.

I tried using something like perl-status:

Location 
/mod-perl-reloadSetHandler perl-scriptPerlHandler 
Apache::MyReloadModule/Location
where MyReloadModule's handler was deleting 
specified module from %INC and reloading itby require, but it didn't 
satisfy me becouse changes weren't seen in apache children processess (at least 
I think so),

so I wrote something like this in 
MyReloadModule:

sub handler {
 my $r = 
shift; Apache-request($r);

 .
 . sending 
HTML
 .

 foreach my $k (keys %INC) 
{ 
$r-print("$kBR"); } 
$r-print("PID $$");

 
$r-print("/BODY/HTML");

}
and I realised that 
changes I have made to %INC in one child process aren't seen in another 
one.

So 
my problem can be set in another way:
Doapache children communicate between 
themselves?

Is it possible to write such a script as I wanted to 
write?

Maybe somebody already done this?

Thanks in advance,
Tomek Paterek



Problems with 1.99_01 build when ap_prefix has blanks (Win32)

2002-04-11 Thread Alessandro Forghieri

Greetings.

I found that building with MP_AP_PREFIX=D:\Program Files\Apache2 
is problematic.
The build process chokes first in TestConfigParse:

D:\Program Files\Apache2/bin/Apache.exe -l failed: 
Bad file descriptor at Apache-Test/lib/Apache/TestConfig.pm line 777, 
DATA chunk 1.

If this is fixed by replacing 

my $cmd = $httpd -v;

with 

my $cmd = \$httpd\ -v;

in a few locations in TestConfigParse, the generation of the Makefile unravels
after a little while with diagnostics like:

Note (probably harmless): No library found for 'D:/Program'
Note (probably harmless): No library found for 'Files/Apache2/lib/libapr.lib'

I did not investigate this any further, as I choose to install under D:\Apache2
instead.

Cheers,
alf
 



Re: libperl.so vs mod_perl.so

2002-04-11 Thread Ged Haywood

Hi there,

On Thu, 11 Apr 2002, Mike Loiterman wrote:

 -BEGIN PGP SIGNED MESSAGE-

There's really no need for all this... :)

 but there is no entry for LoadModule /libexec/apache/mod_perl.so

That's because mod_perl.so doesn't exist.

 There is a an entry for libperl.so and there is a file called
 libperl.so.

That's the one!

 How can I quickly and easily test if mod_perl is inded installed

Read the Guide some more...

http://perl.apache.org/guide

... and check the error_log.

73,
Ged.




Re: how to make apache server to understand the perl commands inhttpsd.conf

2002-04-11 Thread Ged Haywood

Hi there,

On Thu, 11 Apr 2002, Mrajesh wrote:

 So, to run both the codes, we included the commands like
 
 PerlSetvar  MasonCompRoot /usr/local/apache/htdocs
 PerlSetVar MasonDataDir /usr/local/apache/mason
 PerlModule HTML::Mason::ApacheHandler
 
 in httpsd.conf file.
 
 Now, when we are trying to start the HTTPS, it is giving the errors like
 
 Invalid command PerlSetVar either mis-spelled or server is not configured correctly

Are you sure you have a mod_perl server?  What do you get in the
error_log when you start it?

73,
Ged.




Re: libperl.so vs mod_perl.so

2002-04-11 Thread Ryan Parr

As a fellow FreeBSD user (4.5) I recommend building Apache and mod_perl from
source. The ports version builds against the default Perl version (5.005),
even if you upgrade. Therefore, that's all you get in your mod_perl. Also,
it's a good idea to compile mod_perl into Apache, at least, that's what
everyone on this list seems to say... To get the same layout as with the
port install configure apache
--with-layout=FreeBSD

-- Ryan


- Original Message -
From: Ged Haywood [EMAIL PROTECTED]
To: Mike Loiterman [EMAIL PROTECTED]
Cc: mod_perl Mailing List [EMAIL PROTECTED]
Sent: Thursday, April 11, 2002 4:24 PM
Subject: Re: libperl.so vs mod_perl.so


 Hi there,

 On Thu, 11 Apr 2002, Mike Loiterman wrote:

  -BEGIN PGP SIGNED MESSAGE-

 There's really no need for all this... :)

  but there is no entry for LoadModule /libexec/apache/mod_perl.so

 That's because mod_perl.so doesn't exist.

  There is a an entry for libperl.so and there is a file called
  libperl.so.

 That's the one!

  How can I quickly and easily test if mod_perl is inded installed

 Read the Guide some more...

 http://perl.apache.org/guide

 ... and check the error_log.

 73,
 Ged.





Re: Content management systems

2002-04-11 Thread Marc Spitzer

On Tue, 09 Apr 2002 10:17:00 -0400
Aaron Ross [EMAIL PROTECTED] wrote:

 
  
  For community sites, use Slash - the engine behind slashdot
  (http://www.slashcode.com) - there's even a book about it.
  
  You should also check out scoop (http://scoop.kuro5hin.org/), the engine 
  that runs Kuro5hin.org. It's also written for modperl, and IMHO has some 
  extra community features that makes it better than slash for more 
  democratic sites where there are no editors like on /. who decide what 
  stories get posted. Oh, and it does have diaries. ;-)
 
 Does anyone know of a more portal oriented engine?  in addition to
 discussions and articles, a calendar, object level access control,
 polls, approval based content management. 
 
 A friend has to put together a community portal site for the university
 he works for, on biological terrorism, no less!  So far, we  have been
 unable to find anything in perl that provides the functionality needed.
 
 The ArsDigita code seems pretty good, but it's seems to be somewhat
 adrift and sloppy at this point.
 

have you looked at openacs, http://www.openacs.org?

marc

 Zope provides lot of features, but seems to be a closed little world,
 ie. it's own db and it's own templating language.
 
 Anybody know of something in mod_perl with this out of the box
 functionality in addition to content management?
 
 -- aaron
  
 
 



banner system

2002-04-11 Thread Maarten Stolte

Hello,

before i invent the wheel for the xth time, can someone tell me wether
there is an (opensource) banner management system in modperl (MASON?).

regards,

Maarten






Re: libperl.so vs mod_perl.so

2002-04-11 Thread Doug Silver

Hi Mike -

I have the same setup.  You should see something like this:

$ egrep -i perl httpd.conf
LoadModule perl_modulelibexec/apache/libperl.so
AddModule mod_perl.c

# apachectl graceful
# tail /www/logs/error.log 

[Thu Apr 11 14:53:31 2002] [notice] Apache/1.3.22 (Unix) mod_perl/1.26
PHP/4.1.0 mod_ssl/2.8.5 OpenSSL/0.9.6a configured -- resuming normal
operations

~~
Doug Silver
Network Manager
Urchin Corporation  http://www.urchin.com
~~

On Thu, 11 Apr 2002, Mike Loiterman wrote:

  
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Using FreeBSD 4.4 STABLE, apache-1.13.22_4, mod_perl-1.26
 
 I had apache installed via its port, but I needed to use mod_perl. 
 So, it was my understanding that one can cd /usr/ports/mod_perl and
 do a make  make install to install mod_perl into an exsisting
 apache configuration without having to recompile.
 
 This seems to have worked since I am seeing an entry in http.conf
 that says AddModule mod_perl.c but there is no entry for LoadModule
 /libexec/apache/mod_perl.so  and of course there is no file in
 linexec/apache/mod_perl.so so I'm a bit confused.
 
 There is a an entry for libperl.so and there is a file called
 libperl.so.  It isn't clear to me from the documentation at
 http://perl.apache.org/guide/install.html#libperl_so_and_libperl_a
 how this relates to mod_perl.so.  Are these files interchangable?
 
 How can I quickly and easily test if mod_perl is inded installed and
 functioning correctly.   
 
 Mike Loiterman
 [EMAIL PROTECTED]
 PGP Key 0xD1B9D18E
 
 
 -BEGIN PGP SIGNATURE-
 Version: PGP 7.0.4
 Comment: Message digitally signed by Mike Loiterman
 
 iQA/AwUBPLYDBmjZbUnRudGOEQK2pgCgw2Wjlls7pSQbVpwOn5PuUX3mSR0AoNx5
 b1EBAV4smZy90cKCMg5IEId+
 =onnW
 -END PGP SIGNATURE-
 




Re: libperl.so vs mod_perl.so

2002-04-11 Thread Doug Silver

Ryan -

I upgraded to perl 5.6 and when I built mod_perl it used the right one, I
would guess that it would only build it against 5.0 if you didn't run the
`use.perl {port,system}` script that comes with perl 5.6.

The last time I read about loadable modules vs compiled said that the
loadable route costs during startup, but beyond that it's nearly a
push.  Using the ports system makes upgrading Apache and all the other
system software much easier than the other route.  But, everyone does
things differently, so YMMV!

~~
Doug Silver
Network Manager
Urchin Corporation  http://www.urchin.com
~~


On Thu, 11 Apr 2002, Ryan Parr wrote:

 As a fellow FreeBSD user (4.5) I recommend building Apache and mod_perl from
 source. The ports version builds against the default Perl version (5.005),
 even if you upgrade. Therefore, that's all you get in your mod_perl. Also,
 it's a good idea to compile mod_perl into Apache, at least, that's what
 everyone on this list seems to say... To get the same layout as with the
 port install configure apache
 --with-layout=FreeBSD
 
 -- Ryan
 
 
 - Original Message -
 From: Ged Haywood [EMAIL PROTECTED]
 To: Mike Loiterman [EMAIL PROTECTED]
 Cc: mod_perl Mailing List [EMAIL PROTECTED]
 Sent: Thursday, April 11, 2002 4:24 PM
 Subject: Re: libperl.so vs mod_perl.so
 
 
  Hi there,
 
  On Thu, 11 Apr 2002, Mike Loiterman wrote:
 
   -BEGIN PGP SIGNED MESSAGE-
 
  There's really no need for all this... :)
 
   but there is no entry for LoadModule /libexec/apache/mod_perl.so
 
  That's because mod_perl.so doesn't exist.
 
   There is a an entry for libperl.so and there is a file called
   libperl.so.
 
  That's the one!
 
   How can I quickly and easily test if mod_perl is inded installed
 
  Read the Guide some more...
 
  http://perl.apache.org/guide
 
  ... and check the error_log.
 
  73,
  Ged.
 
 





installing mod_perl against a different perl installation

2002-04-11 Thread Mike Loiterman

 
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

I have two versions of perl installed 5.005 and 5.6.1.  I currently
only have mod_perl installed against 5.005 but I would like to also
have it work with 5.6.1.  How can I do this.

I am using FreeBSD 4.4 Apache 1.13.22_4 and mod_perl 1.26

Mike Loiterman
[EMAIL PROTECTED]
PGP Key 0xD1B9D18E


-BEGIN PGP SIGNATURE-
Version: PGP 7.0.4
Comment: Message digitally signed by Mike Loiterman

iQA/AwUBPLZso2jZbUnRudGOEQLQWACgiAe46cgCyPqEZuGwgdecAPDr3FAAnRJM
qgf2jEr26wAyEyeBRgYm5x3o
=7UOQ
-END PGP SIGNATURE-




Re: installing mod_perl against a different perl installation

2002-04-11 Thread Stas Bekman

Mike Loiterman wrote:
  
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 I have two versions of perl installed 5.005 and 5.6.1.  I currently
 only have mod_perl installed against 5.005 but I would like to also
 have it work with 5.6.1.  How can I do this.
 
 I am using FreeBSD 4.4 Apache 1.13.22_4 and mod_perl 1.26

What's the problem, just install it into a different location
  perl Makefile.PL USE_APACI=1 APACHE_PREFIX=/some/path ...
resulting in 2 modperl servers installed (assuming that you had one already)

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com




Re: Trapping browser events

2002-04-11 Thread Issac Goldstand

Jacob Elder wrote:

On Tue, Apr 09, 2002 at 11:13:09AM +0100, Martin Harriss wrote:

I am using Embperl on an intranet system to perform complex database 
searches and display the results.

My problem is that, depending on the parameters given by the user, some 
searches can take some time - returning thousands of rows, and there is a 
danger that the user will hit the stop button, execute the Back command or 
even close the browser session altogether.  If this happens at the wrong 
time, an oracle connection could have been made, but no SQL sent to it, 
leaving an Oracle process hanging there.

I need to be able to trap these browser events, and I can then call a 
cleanup routine to close any database connections.  I can use the 
Javascript onUnload event, I can't figure how to commmuncate with the Perl 
process.


I don't remember where I saw this, but I think it might be what you're
looking for.

while ($dbh-fetch) {

   # format, print, etc.

   last if $r-connection-aborted;
}
$dbh-disconnect;


Remember that if you're using Apache::DBI, your database connection will 
be persistant anyway, so that's not a total waste :)  The above code's 
still a good idea (although the $dbh-disconnect will be silently 
ignored under Apache::DBI) as it will still free the process (or thread 
soon :)) which is dealing with the current response, which would 
otherwise still have lots of work to do for a client who's no longer 
interested.

  Issac




RE: installing mod_perl against a different perl installation

2002-04-11 Thread Mike Loiterman

 
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

I think I got it worked out now

Mike Loiterman
[EMAIL PROTECTED]
PGP Key 0xD1B9D18E

 -Original Message-
 From: Stas Bekman [mailto:[EMAIL PROTECTED]]
 Sent: Friday, April 12, 2002 12:41 AM
 To: [EMAIL PROTECTED]
 Cc: [EMAIL PROTECTED]
 Subject: Re: installing mod_perl against a different perl
 installation  
 
 Mike Loiterman wrote:
 
  -BEGIN PGP SIGNED MESSAGE-
  Hash: SHA1
 
  I have two versions of perl installed 5.005 and 5.6.1.  I
  currently only have mod_perl installed against 5.005 but I would
  like to also have it work with 5.6.1.  How can I do this.
 
  I am using FreeBSD 4.4 Apache 1.13.22_4 and mod_perl 1.26
 
 What's the problem, just install it into a different location
   perl Makefile.PL USE_APACI=1 APACHE_PREFIX=/some/path ...
 resulting in 2 modperl servers installed (assuming that you had one
 already)  
 
 __
 Stas BekmanJAm_pH -- Just Another mod_perl Hacker
 http://stason.org/ mod_perl Guide --- http://perl.apache.org
 mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
 http://modperlbook.org http://apache.org   http://ticketmaster.com

-BEGIN PGP SIGNATURE-
Version: PGP 7.0.4
Comment: Message digitally signed by Mike Loiterman

iQA/AwUBPLZ00WjZbUnRudGOEQLJlgCfc3VLzPbD7jb5NuViscNx6JbFCvUAnjlm
0L83fYtdNzWObduPg4ULe4kF
=8Cpc
-END PGP SIGNATURE-




Mem usage of modules

2002-04-11 Thread pawelp

Hi

Under Mem Usage menu I have list like this:

Apache::ROOT::cgi_2dbin::auk_ch_de
Apache::ROOT::cgi_2dbin::auk_ch_fr 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::auk_aw_ch_de 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::auk_aw_ch_fr 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::auk_ca_ch_de 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::auk_ch_de 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::auk_ch_fr 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::auk_cn_ch_de 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::auk_cq_ch_de 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::auk_cq_ch_fr 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::auk_sc_ch_fr 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::auk_sg_ch_de 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::auk_sg_ch_fr 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::auk_xa_ch_de 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::auk_xa_ch_fr 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::msn_2epl 
Apache::ROOTdynamic_2ericardo_2ech::cgi_2dbin::sunrise 

The auk_ch_de and auk_ch_fr scripts are preloaded with RegistryLoader.
But these scripts are also mentioned later on that list - is that
means they were loaded into memoey twice (in fact all the auk_ scripts are sym
links to the same script auk) ?

Thanks
Pawel