-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Hi,


thanks for all the support from this list and to my mail address.
The cause for the segfaults was a global registered $r in the PerlLogHandler - Script.

sub handler {
        $r=shift;
        $r->connection->pool->cleanup_register( "Apache::DBILogger2::logger" );
        return Apache::OK;
}
sub logger {
        my $s = $r->server;
        my $c = $r->connection;
        # $r was taken globaly...

With increasing load on the webserver sometimes the contents of $r was overriden during the logging action. Seems like a typical thread safe problem.

Instead of clean_upregister now I use push_handlers to invoke the logging code.

sub handler {
        $r=shift;
        $r->push_handlers(PerlCleanupHandler => \&logger);
        return Apache::OK;
}
sub logger {
        my $r = shift;
        my $s = $r->server;
        my $c = $r->connection;
        # ...

- --
David

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)

iD8DBQFD80Apwmr1dznBY0YRAqckAKCYt+yj9ORCsH1btZYk2iAZjYw/MgCeK0GZ
aBnw5qlRFMqQ3zbiXf2vGDI=
=bMEo
-----END PGP SIGNATURE-----

Reply via email to