summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGaurav Sinha <gaurav.sinha@vyatta.com>2012-11-17 00:57:57 -0800
committerGaurav Sinha <gaurav.sinha@vyatta.com>2012-11-17 00:57:57 -0800
commit69de682b364d7bce7aefecb00a4e06eceaeb834d (patch)
treedde806a59dcac15d5ff08f8e90f2ae969b537255 /lib
parent3d248225eecc99e3e39c497f3a4bd76d5d3aac96 (diff)
downloadvyatta-cfg-firewall-69de682b364d7bce7aefecb00a4e06eceaeb834d.tar.gz
vyatta-cfg-firewall-69de682b364d7bce7aefecb00a4e06eceaeb834d.zip
Add signal handler to handle CTRL+C to avoid commit blockade on lock file
Diffstat (limited to 'lib')
-rwxr-xr-xlib/Vyatta/IpTables/IpSet.pm9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Vyatta/IpTables/IpSet.pm b/lib/Vyatta/IpTables/IpSet.pm
index 94fb78d..1005c32 100755
--- a/lib/Vyatta/IpTables/IpSet.pm
+++ b/lib/Vyatta/IpTables/IpSet.pm
@@ -55,6 +55,15 @@ my $logger = 'logger -t IpSet.pm -p local0.warn --';
my $addr_range_mask = 24;
my $lockfile = "/opt/vyatta/config/.lock";
+# remove lock file to avoid commit blockade on interrupt
+# like CTRL+C.
+sub INT_handler {
+ my $rc = system("sudo rm -f $lockfile >>/dev/null");
+ exit(0);
+}
+
+$SIG{'INT'} = 'INT_handler';
+
sub new {
my ($that, $name, $type) = @_;