diff --git a/api.go b/api.go index 79df0f28fc..0a7f7abea7 100644 --- a/api.go +++ b/api.go @@ -584,11 +584,7 @@ func postContainersRestart(srv *Server, version float64, w http.ResponseWriter, return fmt.Errorf("Missing parameter") } job := srv.Eng.Job("restart", vars["name"]) - if r.Form.Get("t") == "" { - job.Setenv("t", "-1") - } else { - job.Setenv("t", r.Form.Get("t")) - } + job.Setenv("t", r.Form.Get("t")) if err := job.Run(); err != nil { return err } @@ -656,11 +652,7 @@ func postContainersStop(srv *Server, version float64, w http.ResponseWriter, r * return fmt.Errorf("Missing parameter") } job := srv.Eng.Job("stop", vars["name"]) - if r.Form.Get("t") == "" { - job.Setenv("t", "-1") - } else { - job.Setenv("t", r.Form.Get("t")) - } + job.Setenv("t", r.Form.Get("t")) if err := job.Run(); err != nil { return err } diff --git a/engine/job.go b/engine/job.go index 181eaa80c7..c2eadccc1b 100644 --- a/engine/job.go +++ b/engine/job.go @@ -102,6 +102,10 @@ func (job *Job) String() string { return fmt.Sprintf("%s.%s%s", job.Eng, job.CallString(), job.StatusString()) } +func (job *Job) EnvExists(key string) (value bool) { + return job.env.Exists(key) +} + func (job *Job) Getenv(key string) (value string) { return job.env.Get(key) } diff --git a/server.go b/server.go index 6291da6699..90a8bb3ed8 100644 --- a/server.go +++ b/server.go @@ -1798,10 +1798,12 @@ func (srv *Server) ContainerRestart(job *engine.Job) engine.Status { job.Errorf("Usage: %s CONTAINER\n", job.Name) return engine.StatusErr } - name := job.Args[0] - t := job.GetenvInt("t") - if t == -1 { - t = 10 + var ( + name = job.Args[0] + t = 10 + ) + if job.EnvExists("t") { + t = job.GetenvInt("t") } if container := srv.runtime.Get(name); container != nil { if err := container.Restart(int(t)); err != nil { @@ -2239,10 +2241,12 @@ func (srv *Server) ContainerStop(job *engine.Job) engine.Status { job.Errorf("Usage: %s CONTAINER\n", job.Name) return engine.StatusErr } - name := job.Args[0] - t := job.GetenvInt("t") - if t == -1 { - t = 10 + var ( + name = job.Args[0] + t = 10 + ) + if job.EnvExists("t") { + t = job.GetenvInt("t") } if container := srv.runtime.Get(name); container != nil { if err := container.Stop(int(t)); err != nil {