瀏覽代碼

Windows: Timeout TestContainerApiPostContainerStop

Signed-off-by: John Howard <jhoward@microsoft.com>
John Howard 9 年之前
父節點
當前提交
d691b4af18
共有 2 個文件被更改,包括 2 次插入6 次删除
  1. 1 1
      integration-cli/docker_api_containers_test.go
  2. 1 5
      libcontainerd/container_windows.go

+ 1 - 1
integration-cli/docker_api_containers_test.go

@@ -1231,7 +1231,7 @@ func (s *DockerSuite) TestContainerApiPostContainerStop(c *check.C) {
 	c.Assert(err, checker.IsNil)
 	// 204 No Content is expected, not 200
 	c.Assert(statusCode, checker.Equals, http.StatusNoContent)
-	c.Assert(waitInspect(containerID, "{{ .State.Running  }}", "false", 5*time.Second), checker.IsNil)
+	c.Assert(waitInspect(containerID, "{{ .State.Running  }}", "false", 60*time.Second), checker.IsNil)
 }
 
 // #14170

+ 1 - 5
libcontainerd/container_windows.go

@@ -167,11 +167,6 @@ func (ctr *container) waitExit(pid uint32, processFriendlyName string, isFirstPr
 			logrus.Debugf("Completed shutting down container %s", ctr.containerID)
 		}
 
-		// BUGBUG - Is taking the lock necessary here? Should it just be taken for
-		// the deleteContainer call, not for the restart logic? @jhowardmsft
-		ctr.client.lock(ctr.containerID)
-		defer ctr.client.unlock(ctr.containerID)
-
 		if si.State == StateExit && ctr.restartManager != nil {
 			restart, wait, err := ctr.restartManager.ShouldRestart(uint32(exitCode), false)
 			if err != nil {
@@ -182,6 +177,7 @@ func (ctr *container) waitExit(pid uint32, processFriendlyName string, isFirstPr
 				go func() {
 					err := <-wait
 					ctr.restarting = false
+					ctr.client.deleteContainer(ctr.friendlyName)
 					if err != nil {
 						si.State = StateExit
 						if err := ctr.client.backend.StateChanged(ctr.containerID, si); err != nil {