I have written a handler that calls a constructor to a module that I have written. I do not believe that the subsequent destructor is being called unless I explicitly call it. Is this a feature of mod_perl? I would think that every time an instance of the module is created, it would be destroyed properly when using mod_perl.
The reason I am doing this, is that I am testing to see if I want to continue using Apache::DBI. I have 4 databases that need to be connected to, and I end up having alot of MySQL threads hanging out if I use Apache::DBI. The problem comes in that I have all disconnects in the DESTROY method for the module(all of my database interaction is abstracted using an OO module) and I end up having no difference between Apache::DBI and using only DBI (threads stay persistent) unless I call destroy explicitly from the handler ( $db->DESTROY ). sub DESTROY { my $self = shift; $self->dbh->disconnect() if defined $self->dbh; }