Browse code

Fix race condition between parseSecurityOpt and container.Mount

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>

Alexandr Morozov authored on 2014/12/12 10:22:59
Showing 1 changed files
... ...
@@ -44,6 +44,8 @@ func (daemon *Daemon) ContainerStart(job *engine.Job) engine.Status {
44 44
 }
45 45
 
46 46
 func (daemon *Daemon) setHostConfig(container *Container, hostConfig *runconfig.HostConfig) error {
47
+	container.Lock()
48
+	defer container.Unlock()
47 49
 	if err := parseSecurityOpt(container, hostConfig); err != nil {
48 50
 		return err
49 51
 	}
... ...
@@ -66,8 +68,8 @@ func (daemon *Daemon) setHostConfig(container *Container, hostConfig *runconfig.
66 66
 	if err := daemon.RegisterLinks(container, hostConfig); err != nil {
67 67
 		return err
68 68
 	}
69
-	container.SetHostConfig(hostConfig)
70
-	container.ToDisk()
69
+	container.hostConfig = hostConfig
70
+	container.toDisk()
71 71
 
72 72
 	return nil
73 73
 }