This item seems to be dropped on the floor. I'd like to remind about it now that we just had a bad precendent with fake perl-5.8.0 on RedHat Linux. Remember that some time after 5.8.0 was released Rafael fixed perl to cache getppids. Which required a workaround in mod_perl 2, since perl assumes that it always does the fork (not the case with mod_perl). The workaround was conditioned as: #if PERL_REVISION == 5 && \ (PERL_VERSION == 8 && PERL_SUBVERSION >= 1 || PERL_VERSION >= 9) && \ THREADS_HAVE_PIDS ... #endif Next we get a bug report telling us that getppid is broken under mp2/perl5.8.0. I'm scratching my head and then seeing that RedHat delivers MAINT18379 which dates 27 Dec 2002 (5 months after 5.8.0 was released) as 5.8.0. Luckily THREADS_HAVE_PIDS didn't exist in 5.8.0, so we are safe. But what if it didn't. I doubt we can do anything about distros making their own releases when they feel like it, but what we can do is to expose PERL_PATCHLEVEL so we can safely code our workaround. I don't remember when Rafael added that feature but let's say it was 18000. I'd then safely code it as: #if PERL_REVISION == 5 && \ (PERL_VERSION == 8 && PERL_SUBVERSION = 0 && PERL_PATCHLEVEL > 1800) && \ (PERL_VERSION == 8 && PERL_SUBVERSION >= 1 || PERL_VERSION >= 9) && \ THREADS_HAVE_PIDS ... #endif Thank you for listening and hopefully Gisle's patch will get in the next release ;) Gisle Aas wrote: > Yitzchak Scott-Thoennes <sthoenna@efn.org> writes: > > >>That's no fix. > > > How about this patch then. It exposes PERL_PATCHLEVEL from config.h > so that XS code can put conditions on it and also make $] and $^V > include it. With a bleadperl patched like this I get: > > $ perl -v > > This is perl, v5.9.0.21473 built for i686-linux > (with 1 registered patch, see perl -V for more detail) > > Copyright 1987-2003, Larry Wall > > Perl may be copied only under the terms of either the Artistic License or the > GNU General Public License, which may be found in the Perl 5 source kit. > > Complete documentation for Perl, including FAQ lists, should be found on > this system using `man perl' or `perldoc perl'. If you have access to the > Internet, point your browser at http://www.perl.com/, the Perl Home Page. > > $ perl -le 'print $]' > 5.00900021473 > > Official releases will not have PERL_PATCHLEVEL defined and will have > $] and $^V as before. With this we can also stop putting strings like > "DEVEL21398" as a "Locally applied patches" for blead and snapshots. > If integrated over to the 5.8.x branch you should also get the > patch number added to those build in between official releases. [...] __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:stas@stason.org http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.comThread Previous | Thread Next