Stas Bekman wrote:
> > 
> > Well, the pid change is already out there in perl 5.8.1, so we need to
> > make it more friendly for applications that embed perl on Linux. I think
> > the fix should go both in blead and maint.
> 
> Seeing the rush of restoring some things as they were in 5.8.0 for 5.8.2, I 
> just thought that this could be one of the things that needs to be reverted as 
> well. Of course if the patch that we discussed does the trick, than it's fine.

Haven't we another similar (but more general) problem with $$ ?

While the PPID is cached in PL_ppid on Linux and for perl >= 5.8.1 with
ithreads, the PID is cached, for all perl versions I know of, and on all
platforms, in $$ (which is a regular SV).

That means that if an application that embeds perl forks, $$ is
not going to be updated.

As far as I can tell this doesn't impact mod_perl 1, because of
mod_perl_init_ids() in perl_util.c (called at child init time).

I don't think this happens on mod_perl 2 with prefork MPM, but I'm not
sure why. Could someone try with mod_perl 2 / threaded or prefork MPM to
see if the problem on $$ exists ? (Sorry, lacking time to test this
myself now) I see that mod_perl 2 has a function modperl_perl_init_ids()
in modperl_perl.c. That would probably a good place to reinit PL_ppid
as well.

(I tend to think that the best way to handle this in the general case
is to provide from perl a public API to reset $$ and ppid.)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to