On Feb 8, 2008 2:44 PM, Perrin Harkins <[EMAIL PROTECTED]> wrote:
> On Feb 8, 2008 1:43 PM, John Siracusa <[EMAIL PROTECTED]> wrote:
> >     * Caching of db objects during mod_perl server start-up is now turned
> >       off by default, with new API to turn it back on and do the necessary
> >       pre-fork clean-up that this entails.  This change solved a 
> > segmentation
> >       fault problem triggered in DBD::Informix when database handles created
> >       in the parent were not properly disconnected prior to the first fork 
> > of
> >       the apache process.
>
> You will probably have to close the handles before forking, or at last
> set InactiveDestroy, no matter which database you're using.  Even if
> you never use those handles again, they will eventually time out and
> may break your new handles on the server side when they do.  I've seen
> this happen in forking code with MySQL handles.

The previous code was just undef-ing the handles, which seemed to work
fine for MySQL but caused DBD::Informix to segfault at or near the end
of the lifetime for the apache child.  (I set MaxRequestPerChild and
and MaxClients to 1 to reproduce it without requiring many thousands
of requests.)

Anyway, the new code is not Informix-specific at all.  It applies to
all databases.  I was just noting the original issue that led to the
fix, in case other people with Informix run into it too.

-John

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Rose-db-object mailing list
Rose-db-object@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rose-db-object

Reply via email to