Add remaining (sans spawn, testbench)

This commit is contained in:
2024-05-05 00:02:38 +05:30
parent 750c23e26e
commit 2dbd7ac062
6 changed files with 94 additions and 2 deletions

30
signals/signals.go Normal file
View File

@@ -0,0 +1,30 @@
package signals
import (
"fmt"
"os"
"os/signal"
"syscall"
)
func Signals() {
// chan MUST be buffered
signals := make(chan os.Signal, 1)
signal.Notify(signals, syscall.SIGINT, syscall.SIGTERM)
done := make(chan bool, 1)
go doWork(done, signals)
fmt.Println("Awaiting signal")
<-done
fmt.Println("Received done, program exiting")
}
func doWork(done chan<- bool, signals <-chan os.Signal) {
sig := <-signals
fmt.Println()
fmt.Println("Received signal:", sig)
done <- true
}