From 50e59fcd0f8ecea883993541ec99dcb797f13e46 Mon Sep 17 00:00:00 2001 From: David Stainton Date: Wed, 4 May 2016 22:41:37 +0000 Subject: [PATCH] Reload config upon HUP signal --- main.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index f3a17e8..257decb 100644 --- a/main.go +++ b/main.go @@ -111,8 +111,11 @@ func (fw *Firewall) runFilter() { q.Timeout = 5 * time.Minute packets := q.Process() - sigs := make(chan os.Signal, 1) - signal.Notify(sigs, os.Interrupt, os.Kill) + sigKillChan := make(chan os.Signal, 1) + signal.Notify(sigKillChan, os.Interrupt, os.Kill) + + sigHupChan := make(chan os.Signal, 1) + signal.Notify(sigHupChan, syscall.SIGHUP) for { select { @@ -122,7 +125,9 @@ func (fw *Firewall) runFilter() { } else { pkt.Accept() } - case <-sigs: + case <-sigHupChan: + fw.loadRules() + case <-sigKillChan: return } }