summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-07-25 14:48:12 -0600
committermo khan <mo@mokhan.ca>2025-07-25 14:48:12 -0600
commitff88a1c9d0ef76c2692343bf0ed6bbf4832080e6 (patch)
tree5208ebfdb9e7a680913ac4acc999a428dbb6868a
parent52d9fb110acdc5ba384d41518ecef918624a98e3 (diff)
chore: upgrade minit to include process restarts
-rw-r--r--go.mod2
-rw-r--r--go.sum4
-rw-r--r--vendor/github.com/xlgmokha/minit/main.go24
-rw-r--r--vendor/modules.txt2
4 files changed, 24 insertions, 8 deletions
diff --git a/go.mod b/go.mod
index 49f1893..eda5f76 100644
--- a/go.mod
+++ b/go.mod
@@ -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
diff --git a/go.sum b/go.sum
index c731166..6787dc7 100644
--- a/go.sum
+++ b/go.sum
@@ -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