On Fri, 16 Jun 2006, Torsten Foertsch wrote:
Yes, since 5.8.1. The problem is that the now old linux-threads implementation
returns different values for getpid() and getppid() for different threads.
Hence Perl decides better to cache these values and update the cache on
fork() to make it more compatible with other thread implementations. Since
Apache does its own fork the cache is not updated. Mp2 contains code that
handles the situation but mp1 does not.
For more information see also
http://www.gossamer-threads.com/lists/perl/porters/193162
http://www.gossamer-threads.com/lists/perl/porters/175806
Dave, have you tried the proposed approach from the thread you mentioned?
Requiring syscall.ph seems like a nasty hack to me. That _is_ what we've
done with our local version here at Socialtext, but I was planning to use
Linux::Pid for a CPAN version, since it seems cleaners.
If you are working on Apache::SizeLimit maybe you could incorporate also
Linux::Smaps for newer kernels. Also the problem of counting out of core
pages could be addressed at least in the docs, see
http://www.gossamer-threads.com/lists/modperl/dev/84375
Yeah, I noticed that Apache2::SizeLimit had a bunch of changes. I was
thinking I could incorporate those too.
-dave
/*===================================================
VegGuide.Org www.BookIRead.com
Your guide to all that's veg. My book blog
===================================================*/