@cryptotaxi247 / kubo / commits / 5d19b5891

coverage: fix race of signal vs start of a process

License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

Jakub Sztandera committed Apr 4, 2019 at 20:10 UTC 5d19b58911638155cdb28d74a84ba8a93b7f6770
1 file changed +13 -2
coverage/main/main.go
+13 -2
@@ -43,15 +43,26 @@ func main() {
43 Pdeathsig: syscall.SIGTERM,
44 }
45
46 - sig := make(chan os.Signal, 1)
46 + sig := make(chan os.Signal, 10)
47 + start := make(chan struct{})
48 go func() {
49 + <-start
50 for {
51 p.Process.Signal(<-sig)
52 }
53 }()
54 +
55 signal.Notify(sig, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM)
56
54 - err = p.Run()
57 + err = p.Start()
58 + if err != nil {
59 + fmt.Println(err.Error())
60 + os.Exit(1)
61 + }
62 +
63 + close(start)
64 +
65 + err = p.Wait()
66 if err != nil {
67 fmt.Println(err.Error())
68 os.Exit(1)