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  }