Hello,

This is odd ... if I use Proc::Simple to run the sub routine in the background the alarm works fine. I then simple shutdown the second process using Proc::Simple's kill function.

Michael



Michael Gale wrote:
Hello,

    I am having a problem with the following piece of code:

Current Net::Pcap is setup to have a capture limit of 1. So if 1 packet is received my script exits and prints the message "time out did not occure. But if a packet arrives after the timeout it prints "time out occured".

But with use of the alarm function, should it not be exiting after 10 seconds even if a packet has not been received ??


--snip--
&packet_cap_setup();
eval {
    local $SIG{ALRM} = sub { die "alarm\n" };
    alarm 10;
        Net::Pcap::loop($pcap_t, 1, \&packet_cap_process, 'dhcp');
    alarm 0;
    } ;
    if ($@) {
        die unless $@ eq "alarm\n";
print "Time out occured\n"; } else {
        print "Time out did not occue\n";
        }
&packet_cap_close();
--snip--

Thanks

Michael


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to