Does shutting down apache free up your locks?
(As an aside, I'm not sure I'll ever get over undef being proper closing
of a database connection; it seems so synonomous to free([23]). I
expect something like $db->db_close() or something.)
Ed
On Thu, 21 Mar 2002, Dan Wilga wrote:
> At 2:03 PM -0500 3/21/02, Aaron Ross wrote:
>>
>>> I'm testing with the Perl script below, with the filename ending
>>> ".mperl" (which, in my configuration, causes it to run as a mod_perl
>>> registry script).
>>
>> I would re-write it as a handler and see if Apache::Registry is partly
>>to blame.
>
> I tried doing it as a handler, using the configuration below (and the
> appropriate changes in the source) and the problem persists. So it
> doesn't seem to be Registry's fault.
>
> <Location /dan>
> SetHandler perl-script
> PerlHandler DanTest
> </Location>
>
> ---- source code ----
>
> #!/usr/bin/perl
>
> package DanTest;
>
> use strict;
> use BerkeleyDB qw( DB_CREATE DB_INIT_MPOOL DB_INIT_CDB );
>
> my $dir='/home/httpd/some/path';
>
> sub handler {
> system( "rm $dir/__db* $dir/TESTdb" );
>
> foreach( 1..5 ) {
> my $env = open_env($dir);
> my %hash;
> my $db = open_db( "TESTdb", \%hash, $env );
> untie %hash;
> undef $db;
> undef $env;
> }
> print "HTTP/1.1 200\nContent-type: text/plain\n\n";
> print `db_stat -c -h $dir`;
> print "\n";
> }
>
> sub open_env {
> my $env = new BerkeleyDB::Env(
> -Flags=>DB_INIT_MPOOL|DB_INIT_CDB|DB_CREATE,
> -Home=> $_[0],
> );
> die "Could not create env: $! ".$BerkeleyDB::Error. "\n" if !$env;
> return $env;
> }
>
> sub open_db {
> my( $file, $Rhash, $env ) = @_;
> my $db_key = tie( %{$Rhash}, 'BerkeleyDB::Btree',
> -Flags=>DB_CREATE,
> -Filename=>$file,
> -Env=>$env );
> die "Can't open $file: $! ".$BerkeleyDB::Error."\n" if !$db_key;
> return $db_key;
> }
>
> 1;
>
>
> Dan Wilga [EMAIL PROTECTED]
> Web Technology Specialist http://www.mtholyoke.edu
> Mount Holyoke College Tel: 413-538-3027
> South Hadley, MA 01075 "Seduced by the chocolate side of the Force"
>