Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

WNOHANG uninitialized?

by hotshot (Prior)
on Feb 02, 2004 at 14:44 UTC ( #325862=perlquestion: print w/ replies, xml ) Need Help??
hotshot has asked for the wisdom of the Perl Monks concerning the following question:

Hi guys!

I use the following code for executing a script with timeout on it:
eval { alarm($timeout); pipe(READ,WRITE); if ($pid = fork) { $SIG{CHLD} = sub { $exitStatus = $? while (waitpid(-1, WNOHANG +)) > 0 }; close(WRITE); } else { die "Cannot fork: $!" unless defined $pid; open(STDOUT, ">&=WRITE") or die "Cannot redirect STDOUT: $!"; close(READ); exec ("$extScript") or die "Cannot exec $extScript: $!"; } while(<READ>) { push(@output, $_); } close(READ); alarm(0); }; ## End eval if ($@) { if ($@ =~ /Timeout/) { print "Reached timeout\n"; } else { alarm(0); die; } } else { print Dumper(\@output); }
the above code is wrraped into a function and called with two parameters: script and timeout.
my problem is that i get the following message when calling the function:

Argument "WNOHANG" isn't numeric in waitpid at /../../prog.pl

and the program gets stuck.
can anyone help?

Comment on WNOHANG uninitialized?
Download Code
Re: WNOHANG uninitialized?
by Fletch (Chancellor) on Feb 02, 2004 at 14:47 UTC
    • use strict
    • use POSIX qw( WNOHANG )

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://325862]
Approved by gmax
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (7)
As of 2014-09-03 05:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (35 votes), past polls