in reply to simple timeout

perldoc -f alarm provides a good example on your case.

Perhaps should you tell us more about what does not work for you.

Kind regards

--
zejames

Replies are listed 'Best First'.
Re^2: simple timeout
by disciple01 (Novice) on Nov 08, 2004 at 13:51 UTC
    Well I'm actually trying to probe a number of servers using WMI, it's about 300 servers and occassionaly one will not respond causing the script to hang indefinetely.

    For your alarm suggestion, I've tried trying to work with the alarm funtion but had no joy, for example the following doesn't work.

    (using my $buf=<>; instead of the wmi stuff)

    $SIG{'ALRM'}=\&time_out; while(1) { eval { alarm(5); my $buf=<>; alarm(0); }; print "next\n"; } exit; sub time_out { print "fed up waiting, next please\n"; die "FED UP WAITING"; }

    The script should wait for user input, and get 'fed up' after 5 seconds. Problem being the alarm never seems to get called.

      also the actual `perldoc -f alarm` example doesn't seem to work either.

      eval { local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required alarm 2; `dir /s c:`; alarm 0; };

      Surely alarm should interrupt the timeconsuming `dir /s c:` (recursive dir) after 2 seconds?