Skip to content

Commit 04cc6c6

Browse files
author
Antonio Murdaca
committed
Remove job from stop
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
1 parent e3dd323 commit 04cc6c6

File tree

3 files changed

+12
-21
lines changed

3 files changed

+12
-21
lines changed

api/server/server.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -988,16 +988,22 @@ func postContainersStop(eng *engine.Engine, version version.Version, w http.Resp
988988
if vars == nil {
989989
return fmt.Errorf("Missing parameter")
990990
}
991-
job := eng.Job("stop", vars["name"])
992-
job.Setenv("t", r.Form.Get("t"))
993-
if err := job.Run(); err != nil {
991+
992+
d := getDaemon(eng)
993+
seconds, err := strconv.Atoi(r.Form.Get("t"))
994+
if err != nil {
995+
return err
996+
}
997+
998+
if err := d.ContainerStop(vars["name"], seconds); err != nil {
994999
if err.Error() == "Container already stopped" {
9951000
w.WriteHeader(http.StatusNotModified)
9961001
return nil
9971002
}
9981003
return err
9991004
}
10001005
w.WriteHeader(http.StatusNoContent)
1006+
10011007
return nil
10021008
}
10031009

daemon/daemon.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@ func (daemon *Daemon) Install(eng *engine.Engine) error {
126126
"logs": daemon.ContainerLogs,
127127
"restart": daemon.ContainerRestart,
128128
"start": daemon.ContainerStart,
129-
"stop": daemon.ContainerStop,
130129
"execCreate": daemon.ContainerExecCreate,
131130
"execStart": daemon.ContainerExecStart,
132131
"execInspect": daemon.ContainerExecInspect,

daemon/stop.go

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,16 @@
11
package daemon
22

3-
import (
4-
"fmt"
3+
import "fmt"
54

6-
"github.com/docker/docker/engine"
7-
)
8-
9-
func (daemon *Daemon) ContainerStop(job *engine.Job) error {
10-
if len(job.Args) != 1 {
11-
return fmt.Errorf("Usage: %s CONTAINER\n", job.Name)
12-
}
13-
var (
14-
name = job.Args[0]
15-
t = 10
16-
)
17-
if job.EnvExists("t") {
18-
t = job.GetenvInt("t")
19-
}
5+
func (daemon *Daemon) ContainerStop(name string, seconds int) error {
206
container, err := daemon.Get(name)
217
if err != nil {
228
return err
239
}
2410
if !container.IsRunning() {
2511
return fmt.Errorf("Container already stopped")
2612
}
27-
if err := container.Stop(int(t)); err != nil {
13+
if err := container.Stop(seconds); err != nil {
2814
return fmt.Errorf("Cannot stop container %s: %s\n", name, err)
2915
}
3016
container.LogEvent("stop")

0 commit comments

Comments
 (0)