Reload config upon HUP signal

pull/16/head
David Stainton 9 years ago
parent 2d4c127f4e
commit 50e59fcd0f

@ -111,8 +111,11 @@ func (fw *Firewall) runFilter() {
q.Timeout = 5 * time.Minute q.Timeout = 5 * time.Minute
packets := q.Process() packets := q.Process()
sigs := make(chan os.Signal, 1) sigKillChan := make(chan os.Signal, 1)
signal.Notify(sigs, os.Interrupt, os.Kill) signal.Notify(sigKillChan, os.Interrupt, os.Kill)
sigHupChan := make(chan os.Signal, 1)
signal.Notify(sigHupChan, syscall.SIGHUP)
for { for {
select { select {
@ -122,7 +125,9 @@ func (fw *Firewall) runFilter() {
} else { } else {
pkt.Accept() pkt.Accept()
} }
case <-sigs: case <-sigHupChan:
fw.loadRules()
case <-sigKillChan:
return return
} }
} }

Loading…
Cancel
Save