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>