github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/builtins/events/onSignalReceived/register.go (about) 1 //go:build !plan9 && !js 2 // +build !plan9,!js 3 4 package signaltrap 5 6 import ( 7 "fmt" 8 "os" 9 "os/signal" 10 "syscall" 11 ) 12 13 var signalChan chan os.Signal = make(chan os.Signal, 1) 14 15 func register(sig string) error { 16 for name := range interrupts { 17 if name == sig { 18 signal.Notify(signalChan, interrupts[name]) 19 return nil 20 } 21 } 22 23 return fmt.Errorf("no signal found named '%s'", sig) 24 } 25 26 func deregister(sig syscall.Signal) { 27 signal.Reset(sig) 28 }