Stas Bekman wrote:
Here is the latest version. Is that clear now? Feel free to commit any fixes directly. Thanks.
=head2 When DSO can be Used
Perl versions prior to 5.6.0, built with C<-Dusemymalloc>, and versions 5.6.0 and higher, built with C<-Dusemymalloc> and C<-Dbincompat5005>, pollutes the main C<httpd> program with I<free> and I<malloc> symbols. When C<httpd> restarts (happens at startup too), any references in the main program to I<free> and I<malloc> become invalid, and this causes memory leaks and segfaults.
First check which malloc, your Perl was built with, by running:
% perl -V:usemymalloc
If you get:
usemymalloc='n';
which means that Perl is using the system malloc, mod_perl will work fine as DSO. Continue reading this section if it's not the case.
If you get:
usemymalloc='y';
that means that Perl is using its own malloc. If you are running Perl older than 5.6.0, you must rebuild Perl with C<-Uusemymalloc>. If you are running Perl 5.6.0 and higher, you must make sure that you have the binary compatibility with Perl 5.005 turned off. To check, run:
% perl -V:bincompat5005
If you get:
bincompat5005='define';
then you must rebuild Perl with C<-Ubincompat5005>. You can continue using Perl's malloc if that's a better choice for your OS.
Notice that mod_perl's build system warns about this problem.
If you needed to rebuild Perl don't forget to rebuild mod_perl too.
-- __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
