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]



Reply via email to