Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: trying to get timeout to work

by halfcountplus (Hermit)
on Apr 11, 2012 at 14:03 UTC ( [id://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.

Replies are listed 'Best First'.
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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://964542]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2024-04-25 07:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found