1//go:build !unix
2
3package restic
4
5import (
6 "os"
7 "os/exec"
8 "os/signal"
9)
10
11func watchResticSignals(process *os.Process) func() {
12 _ = process
13
14 signals := make(chan os.Signal, 1)
15 signal.Notify(signals, os.Interrupt)
16 done := make(chan struct{})
17
18 go func() {
19 defer close(done)
20 for range signals {
21 }
22 }()
23
24 return func() {
25 signal.Stop(signals)
26 close(signals)
27 <-done
28 }
29}
30
31func resticExitCode(exitErr *exec.ExitError) int {
32 return exitErr.ExitCode()
33}