I still didn't have a chance to look at it in details, but could it be the issue with merging not performing a deep copy?
http://perl.apache.org/docs/2.0/user/config/custom.html#Merging_Entries_Whose_Values_Are_References
I don't think so--the only operation I do on that array is @{$arrayref} to flatten it out into a DBI argument list. (i.e. I never mutate it, which is where deep copying is important.)
If not, I'll look tomorrow on a fresh head, unless someone beats me to it.
I instrumented SERVER_CREATE, DIR_CREATE, SERVER_MERGE, DIR_MERGE, RegulateDatabase, and global_init to print the value of $self to the log:
SERVER_CREATE: Apache::Regulate=HASH(0x831a330) SERVER_CREATE: Apache::Regulate=HASH(0x831a450) RegulateDatabase: Apache::Regulate=HASH(0x831a330) global_init: Apache::Regulate=HASH(0x831a450) global_init: Apache::Regulate=HASH(0x8105190)
So what we're seeing is:
a=SERVER_CREATE(); b=SERVER_CREATE(); RegulateDatabase(a, ...); global_init(b); global_init(c);
I have no idea where 'c' is coming from--like I said, I've instrumented {SERVER,DIR}_{CREATE,MERGE}, which I think should cover everything.
-- Brent "Dax" Royal-Gordon <[EMAIL PROTECTED]> Perl and Parrot hacker
Oceania has always been at war with Eastasia.
-- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html