diff options
-rw-r--r-- | pod/perlfaq8.pod | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/pod/perlfaq8.pod b/pod/perlfaq8.pod index 06494e240f..d5c63daa29 100644 --- a/pod/perlfaq8.pod +++ b/pod/perlfaq8.pod @@ -1005,13 +1005,19 @@ On POSIX systems, you can test whether your own process group matches the current process group of your controlling terminal as follows: use POSIX qw/getpgrp tcgetpgrp/; - open(TTY, "/dev/tty") or die $!; - $tpgrp = tcgetpgrp(fileno(*TTY)); - $pgrp = getpgrp(); - if ($tpgrp == $pgrp) { - print "foreground\n"; + + # Some POSIX systems, such as Linux, can be + # without a /dev/tty at boot time. + if (!open(TTY, "/dev/tty")) { + print "no tty\n"; } else { - print "background\n"; + $tpgrp = tcgetpgrp(fileno(*TTY)); + $pgrp = getpgrp(); + if ($tpgrp == $pgrp) { + print "foreground\n"; + } else { + print "background\n"; + } } =head2 How do I timeout a slow event? |