From 642c6f23ac5a4917391c911fe1294ed35b44acd9 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Thu, 4 Jan 2018 10:28:23 +0100 Subject: [PATCH] Use pure Go unix.Reboot function in rc.init Use unix.Reboot from golang.org/x/sys/unix for poweroff and reboot instead of relying on external commands. Signed-off-by: Tobias Klauser --- pkg/init/cmd/rc.init/main.go | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pkg/init/cmd/rc.init/main.go b/pkg/init/cmd/rc.init/main.go index 82e8986d2..efba05691 100644 --- a/pkg/init/cmd/rc.init/main.go +++ b/pkg/init/cmd/rc.init/main.go @@ -411,13 +411,9 @@ func doShutdown(action string) { unmountAll() switch action { case "poweroff": - // TODO use syscall - cmd := exec.Command("/sbin/poweroff", "-f") - _ = cmd.Run() + _ = unix.Reboot(unix.LINUX_REBOOT_CMD_POWER_OFF) case "reboot": - // TODO use syscall - cmd := exec.Command("/sbin/reboot", "-f") - _ = cmd.Run() + _ = unix.Reboot(unix.LINUX_REBOOT_CMD_RESTART) } // if this failed, init will try again os.Exit(0)