Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/util/signals/win32.go
Jeff Becker 73f77f1624 properly handle os.Interrupt Signal
This makes systemd not put unit into fail mode when stopping

INFO:

* make sure to use signals.RegisterCloser for everything that should be closed on interrupt

* for any net.Listeners created make sure to wrap them with network.WrapListener and register with signals.RegisterCloser
2017-05-10 08:23:29 -04:00

35 lignes
505 o
Go

// +build win32
package signals
import (
"os"
"os/signal"
)
func Handle() {
// TODO: Something about SIGHUP for Windows
chnl := make(chan os.Signal)
signal.Notify(chnl, os.Interrupt)
for {
sig, ok := <-chnl
if !ok {
break
}
switch sig {
case os.Interrupt:
// this also closes listeners
interrupted()
return
default:
break
}
}
}
// win32 interrupt handler
// called in interrupted()
func handleInterrupt() {
// XXX: put any win32 specific cleanup here as needed
}