Bug#541551: perl-base: detecting stopped child process fails using POSIX WIFSTOPPED
torp
1250272407 at noid.net
Fri Aug 14 19:15:27 UTC 2009
Package: perl-base
Version: 5.10.0-19
Severity: important
When perl is testing if a child process is stopped, the
result of the WIFSTOPPED function is never correct:
#!/usr/bin/perl
$|++;
use POSIX;
unless ( $pid = fork ) {
print "child: stopping self\n";
kill STOP => $$;
exit;
}
waitpid($pid, WUNTRACED);
if (WIFSTOPPED($?)) {
print "parent: child stop (WIFSTOPPED worked: YAY)\n";
} else {
print "parent: child exit (WIFSTOPPED failed: BUMMER)\n";
}
__END__
This problem is new to Debian Lenny... On my old Debian Etch
system it's fine. I've also tested it on some other OS'es (e.g.:
OpenBSD w/ perl v.5.10) and the small app above works in happy mode.
Thanks for your consideration!
- Tor
-- System Information:
Debian Release: 5.0.2
APT prefers stable
APT policy: (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.26 (SMP w/1 CPU core)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)
Shell: /bin/sh linked to /bin/bash
Versions of packages perl-base depends on:
ii dpkg 1.14.25 Debian package management system
ii libc6 2.7-18 GNU C Library: Shared libraries
perl-base recommends no packages.
Versions of packages perl-base suggests:
ii perl 5.10.0-19 Larry Wall's Practical Extraction
-- no debconf information
More information about the Perl-maintainers
mailing list