Bug#541551: perl-base: detecting stopped child process fails using POSIX WIFSTOPPED

torp 1250272407 at noid.net
Wed Aug 19 23:51:40 UTC 2009


This solves the problem!

I want to be able to run the same program on both old and new systems,
so rather than substituting $? for ${^CHILD_ERROR_NATIVE} directly, I
substituted like so:

  WIFSTOPPED(( defined ${^CHILD_ERROR_NATIVE} ? ${^CHILD_ERROR_NATIVE} : $? ))

For the benefit of the curious, here's a link to the email thread that
lead to the thread you referenced above:

  http://www.mail-archive.com/perl5-porters@perl.org/msg86900.html

Also, I might have been able to figure this one out on my own if I had
studied the perldelta man page and/or read the updated documentation
for perl's builtin system() function:

  man perldelta
  perldoc -f system

I am personally very grateful to you for your help as I was stumped
and thought that this was actually a bug...  Your time and expertise
is greatly appreciated!

Thank you,

- Tor










The link you referenced (above), for me at least, did not offer links
to all the messages in the thread that discussed this change in perl.
Here's a link to a message archive that allowed me to view the entire
thread:

  http://grokbase.com/post/2005/05/12/why-is-forced-to-16-bits/k_QJoMkHvigmO7OI5cFHcYeScm4

  http://grokbase.com/thread/m/2005/05/12/why-is-forced-to-16-bits/k_QJoMkHvigmO7OI5cFHcYeScm4























More information about the Perl-maintainers mailing list