Fix restart command when ctrld service was already stopped

This commit is contained in:
Cuong Manh Le
2023-08-09 02:45:38 +00:00
committed by Cuong Manh Le
parent 125b4b6077
commit 854a244ebb
3 changed files with 62 additions and 8 deletions
+4 -7
View File
@@ -550,13 +550,10 @@ func initCLI() {
return
}
initLogging()
tasks := []task{{s.Restart, true}}
// On Windows, s.Restart will return error unless service is running.
if runtime.GOOS == "windows" {
tasks = []task{
{s.Start, false},
{s.Restart, true},
}
tasks := []task{
{s.Stop, false},
{s.Start, true},
}
if doTasks(tasks) {
dir, err := userHomeDir()
+10
View File
@@ -63,6 +63,16 @@ func (s *sysV) Stop() error {
return err
}
func (s *sysV) Restart() error {
if !s.installed() {
return service.ErrNotInstalled
}
// We don't care about error returned by s.Stop,
// because the service may already be stopped.
_ = s.Stop()
return s.Start()
}
func (s *sysV) Status() (service.Status, error) {
if !s.installed() {
return service.StatusUnknown, service.ErrNotInstalled