mirror of
https://github.com/adnanh/webhook.git
synced 2025-05-31 09:42:28 +00:00
Merge pull request #45 from moorereason/signals
Refactor signal handling and Windows support
This commit is contained in:
commit
334fbc814c
4 changed files with 42 additions and 312 deletions
26
webhook.go
26
webhook.go
|
@ -1,5 +1,3 @@
|
|||
//+build !windows
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
|
@ -12,9 +10,7 @@ import (
|
|||
"net/url"
|
||||
"os"
|
||||
"os/exec"
|
||||
"os/signal"
|
||||
"strings"
|
||||
"syscall"
|
||||
|
||||
"github.com/adnanh/webhook/hook"
|
||||
|
||||
|
@ -61,12 +57,7 @@ func init() {
|
|||
log.Println("version " + version + " starting")
|
||||
|
||||
// set os signal watcher
|
||||
log.Printf("setting up os signal watcher\n")
|
||||
|
||||
signals = make(chan os.Signal, 1)
|
||||
signal.Notify(signals, syscall.SIGUSR1)
|
||||
|
||||
go watchForSignals()
|
||||
setupSignals()
|
||||
|
||||
// load and parse hooks
|
||||
log.Printf("attempting to load hooks from %s\n", *hooksFilePath)
|
||||
|
@ -314,21 +305,6 @@ func watchForFileChange() {
|
|||
}
|
||||
}
|
||||
|
||||
func watchForSignals() {
|
||||
log.Println("os signal watcher ready")
|
||||
|
||||
for {
|
||||
sig := <-signals
|
||||
if sig == syscall.SIGUSR1 {
|
||||
log.Println("caught USR1 signal")
|
||||
|
||||
reloadHooks()
|
||||
} else {
|
||||
log.Printf("caught unhandled signal %+v\n", sig)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// valuesToMap converts map[string][]string to a map[string]string object
|
||||
func valuesToMap(values map[string][]string) map[string]interface{} {
|
||||
ret := make(map[string]interface{})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue