--- a/dns-autoslave Fri Aug 12 15:13:51 2011 +0200
+++ b/dns-autoslave Mon Aug 15 13:53:32 2011 +0200
@@ -8,6 +8,7 @@
use Net::DNS::Packet;
use Fcntl ":flock";
use AppConfig;
+use POSIX qw(SIGTERM);
# Es kommen Zeilen
# add slave domain.com
@@ -78,10 +79,14 @@
exit 0;
}
- $SIG{TERM} = sub { warn "Exit.\n"; unlink $Cf->pid; exit 0; };
+ POSIX::sigaction(SIGTERM, POSIX::SigAction->new(sub { Net::Pcap::breakloop($pcap); } ))
+ or die "Error setting SIGTERM Handler: $!\n";
close(STDIN); close(STDOUT); close(STDERR); close(PID);
$0 = ME." [capturing]";
Net::Pcap::loop($pcap, -1, \&process, undef);
+ warn "Exit.\n";
+ unlink $Cf->pid;
+ exit 0;
}