From 8abc4cf49c6a768ddaf103c56f5ef842ed1c9248 Mon Sep 17 00:00:00 2001 From: EnumDev Date: Tue, 25 Nov 2025 20:54:41 +0200 Subject: [PATCH] Tweak timeouts --- src/ectl/main.go | 2 +- src/enit/main.go | 2 +- src/enit/mount.go | 52 +++++++++++++-------------------------------- src/esvm/service.go | 2 +- 4 files changed, 18 insertions(+), 40 deletions(-) diff --git a/src/ectl/main.go b/src/ectl/main.go index 1b99460..c39eeb5 100644 --- a/src/ectl/main.go +++ b/src/ectl/main.go @@ -405,7 +405,7 @@ func dialSocket() { log.Fatalf("Failed to connect to esvm.sock! Error: %s\n", err) } - if err := conn.SetDeadline(time.Now().Add(5 * time.Second)); err != nil { + if err := conn.SetDeadline(time.Now().Add(30 * time.Second)); err != nil { log.Fatalf("Failed to set write deadline! Error: %s\n", err) } } diff --git a/src/enit/main.go b/src/enit/main.go index 69d6e0a..a194c0c 100644 --- a/src/enit/main.go +++ b/src/enit/main.go @@ -175,7 +175,7 @@ func stopServiceManager() { case <-exited: fmt.Println("Done.") return - case <-time.After(60 * time.Second): + case <-time.After(300 * time.Second): log.Println("Could not stop service manager!") syscall.Kill(serviceManagerPid, syscall.SIGKILL) return diff --git a/src/enit/mount.go b/src/enit/mount.go index c936aa5..237427f 100644 --- a/src/enit/mount.go +++ b/src/enit/mount.go @@ -280,25 +280,14 @@ func unmountFilesystems() { // Unmount filesystem at mountpoint fmt.Printf("Unmounting %s...", mountpoint) - tries := 0 - for { - err := unix.Unmount(mountpoint, 0) - if errors.Is(err, syscall.EBUSY) { - fmt.Print(".") - tries++ - time.Sleep(1 * time.Second) - if tries >= 60 { - unix.Unmount(mountpoint, syscall.MNT_FORCE) - fmt.Println(" Timeout.") - break - } - } else if err != nil { - fmt.Printf(" Error: %s\n", err.Error()) - break - } else { - fmt.Println(" Done.") - break - } + err := unix.Unmount(mountpoint, 0) + if errors.Is(err, syscall.EBUSY) { + fmt.Println(" Busy.") + time.Sleep(1 * time.Second) + } else if err != nil { + fmt.Printf(" Error: %s\n", err.Error()) + } else { + fmt.Println(" Done.") } } } @@ -341,23 +330,12 @@ func remountRootReadonly() { } } - tries := 0 - for { - err := unix.Mount(source, "/", filesystem, syscall.MS_RDONLY|syscall.MS_REMOUNT, fsData) - if errors.Is(err, syscall.EBUSY) { - fmt.Print(".") - tries++ - time.Sleep(1 * time.Second) - if tries >= 60 { - fmt.Println(" Timeout.") - break - } - } else if err != nil { - fmt.Printf(" Error: %s\n", err.Error()) - break - } else { - fmt.Println(" Done.") - break - } + err = unix.Mount(source, "/", filesystem, syscall.MS_RDONLY|syscall.MS_REMOUNT, fsData) + if errors.Is(err, syscall.EBUSY) { + fmt.Println(" Busy.") + } else if err != nil { + fmt.Printf(" Error: %s\n", err.Error()) + } else { + fmt.Println(" Done.") } } diff --git a/src/esvm/service.go b/src/esvm/service.go index 2d43187..cb8d9c7 100644 --- a/src/esvm/service.go +++ b/src/esvm/service.go @@ -432,7 +432,7 @@ func (service *EnitService) StopService() error { select { case <-exited: - case <-time.After(5 * time.Second): + case <-time.After(15 * time.Second): service.GetProcess().Signal(syscall.SIGKILL) return fmt.Errorf("could not stop process gracefully") }