diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-25 14:48:12 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-25 14:48:12 -0600 |
| commit | ff88a1c9d0ef76c2692343bf0ed6bbf4832080e6 (patch) | |
| tree | 5208ebfdb9e7a680913ac4acc999a428dbb6868a | |
| parent | 52d9fb110acdc5ba384d41518ecef918624a98e3 (diff) | |
chore: upgrade minit to include process restarts
| -rw-r--r-- | go.mod | 2 | ||||
| -rw-r--r-- | go.sum | 4 | ||||
| -rw-r--r-- | vendor/github.com/xlgmokha/minit/main.go | 24 | ||||
| -rw-r--r-- | vendor/modules.txt | 2 |
4 files changed, 24 insertions, 8 deletions
@@ -189,7 +189,7 @@ require ( github.com/tklauser/go-sysconf v0.3.15 // indirect github.com/tklauser/numcpus v0.10.0 // indirect github.com/xlab/treeprint v1.2.0 // indirect - github.com/xlgmokha/minit v0.0.0-20250708214413-725b9f91042d // indirect + github.com/xlgmokha/minit v0.0.0-20250725204255-8e0834741617 // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect github.com/zeebo/errs v1.4.0 // indirect @@ -587,8 +587,8 @@ github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= -github.com/xlgmokha/minit v0.0.0-20250708214413-725b9f91042d h1:TOiioMSePEpD7HTMjIrksifMyi8lrCgQ0sDQaxTxV6Y= -github.com/xlgmokha/minit v0.0.0-20250708214413-725b9f91042d/go.mod h1:2Kojbsk+Nuj/Rcf+kHkJOKnf+VstT/r1ZRS4pPqtVXY= +github.com/xlgmokha/minit v0.0.0-20250725204255-8e0834741617 h1:MM4yskiyvXBz8ufTTp3PWgpAZMY4BEGIIbuS3arc0Ws= +github.com/xlgmokha/minit v0.0.0-20250725204255-8e0834741617/go.mod h1:2Kojbsk+Nuj/Rcf+kHkJOKnf+VstT/r1ZRS4pPqtVXY= github.com/xlgmokha/x v0.0.0-20250724192332-f79ef71d5cac h1:QOFyBVBICO1PTF+az3tv3OWvkFUT7bAbDFmhftVy7/E= github.com/xlgmokha/x v0.0.0-20250724192332-f79ef71d5cac/go.mod h1:zhU3cB9VYGt4IlTIaLVw3wsXIS5UzXiYmCB+q+DjfHs= github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no= diff --git a/vendor/github.com/xlgmokha/minit/main.go b/vendor/github.com/xlgmokha/minit/main.go index 7ec6200..8fcf0e0 100644 --- a/vendor/github.com/xlgmokha/minit/main.go +++ b/vendor/github.com/xlgmokha/minit/main.go @@ -7,7 +7,9 @@ import ( "os/signal" "strings" "sync" + "sync/atomic" "syscall" + "time" ) func main() { @@ -16,6 +18,7 @@ func main() { var cmds []*exec.Cmd var wg sync.WaitGroup + var shutdown int32 scanner := bufio.NewScanner(file) for scanner.Scan() { @@ -42,11 +45,22 @@ func main() { cmds = append(cmds, cmd) wg.Add(1) - go func(c *exec.Cmd) { + go func(args []string) { defer wg.Done() - c.Start() - c.Wait() - }(cmd) + for atomic.LoadInt32(&shutdown) == 0 { + cmd := exec.Command(args[0], args[1:]...) + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true} + + if cmd.Start() != nil { + time.Sleep(2 * time.Second) + continue + } + cmd.Wait() + time.Sleep(time.Second) + } + }(args) } sigChan := make(chan os.Signal, 1) @@ -54,6 +68,8 @@ func main() { go func() { <-sigChan + atomic.StoreInt32(&shutdown, 1) + for _, cmd := range cmds { if cmd.Process != nil { syscall.Kill(-cmd.Process.Pid, syscall.SIGTERM) diff --git a/vendor/modules.txt b/vendor/modules.txt index 4dab1c0..59f7710 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -929,7 +929,7 @@ github.com/tklauser/numcpus # github.com/xlab/treeprint v1.2.0 ## explicit; go 1.13 github.com/xlab/treeprint -# github.com/xlgmokha/minit v0.0.0-20250708214413-725b9f91042d +# github.com/xlgmokha/minit v0.0.0-20250725204255-8e0834741617 ## explicit; go 1.24 github.com/xlgmokha/minit # github.com/xlgmokha/x v0.0.0-20250724192332-f79ef71d5cac |
