Package: perl
Version: 5.8.4-8
Severity: normal

The command

strace -f perl -e 'use POSIX; sleep(1) until getppid() == 1;'

shows that perl does not call the underlying getppid(2) after each sleep.

The same command works properly in perl 5.6.

This behaviour change breaks any perl script that relies on getppid()
to return the current parent as opposed to the original parent.

I understand the rationale given in the manual page for perl's getppid
to return consistent value for threads.  However, I don't see that as
a valid excuse for caching the return value of getppid() indefinitely.

So I'd like to see getppid() changed such that it does refresh its
value occasionally.

Thanks,

-- System Information
Debian Release: 3.1
Kernel Version: Linux gondolin 2.4.27-hx-1-686-smp #3 SMP Tue Oct 5 20:01:26 
EST 2004 i686 GNU/Linux

Versions of the packages perl depends on:
ii  libc6          2.3.2.ds1-22   GNU C Library: Shared libraries and Timezone
ii  libdb4.2       4.2.52-18      Berkeley v4.2 Database Libraries [runtime]
ii  libgdbm3       1.8.3-2        GNU dbm database routines (runtime version)
ii  perl-base      5.8.4-8        The Pathologically Eclectic Rubbish Lister
ii  perl-modules   5.8.4-8        Core Perl modules


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to