Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: trying to get timeout to work

by halfcountplus (Hermit)
on Apr 11, 2012 at 14:03 UTC ( #964542=note: print w/ replies, xml ) Need Help??


in reply to trying to get timeout to work

It's because of the eval. Throw this in after you declare $h:

local $SIG{ALRM};
And see what happens.


Comment on Re: trying to get timeout to work
Download Code
Re^2: trying to get timeout to work
by Eliya (Vicar) on Apr 11, 2012 at 14:20 UTC

    The problem with this is that the alarm signal will then simply kill the script... (which is the default action for SIGALRM)

      Yes, but it will happen in the requested 3 seconds. If you want a non-fatal handler:

      local $SIG{ALRM} = sub { print STDERR "hey\n" };
      Ie, there is a difference in behaviour between that and set_sig_handler(). Whoops, no there isn't, but adding STDERR reporting does shed some light on when the alarm fires...

        Have you tried it?   AFAICT, this still doesn't do what the OP wants.

        Instead of the script getting killed, when the alarm fires, it now prints "hey" to STDERR, and then still goes to wait 60 seconds until the suprocess completes by itself.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (10)
As of 2014-09-21 17:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (173 votes), past polls