diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2022-01-18 13:20:10 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-18 13:20:10 -0500 |
commit | 62212dbf490d736ad06523a92345a480e4972dab (patch) | |
tree | 5d9e778f05044018d8cdad7dca9c40a8aa7f2393 | |
parent | 094665ac0cccc04c7797881ff2a27ff330e9a72e (diff) | |
parent | 7e30531f20b8c367aad81454abda8505a0d9962a (diff) | |
download | podman-62212dbf490d736ad06523a92345a480e4972dab.tar.gz podman-62212dbf490d736ad06523a92345a480e4972dab.tar.bz2 podman-62212dbf490d736ad06523a92345a480e4972dab.zip |
Merge pull request #12909 from vrothberg/fix-12904
compat attach: fix write on closed channel
-rw-r--r-- | libpod/oci_conmon_linux.go | 6 | ||||
-rw-r--r-- | test/apiv2/python/rest_api/test_v2_0_0_container.py | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/libpod/oci_conmon_linux.go b/libpod/oci_conmon_linux.go index 3fa43aed9..268a301fb 100644 --- a/libpod/oci_conmon_linux.go +++ b/libpod/oci_conmon_linux.go @@ -660,13 +660,13 @@ func (r *ConmonOCIRuntime) HTTPAttach(ctr *Container, req *http.Request, w http. } errChan <- err }() + if err := ctr.ReadLog(context.Background(), logOpts, logChan); err != nil { + return err + } go func() { logOpts.WaitGroup.Wait() close(logChan) }() - if err := ctr.ReadLog(context.Background(), logOpts, logChan); err != nil { - return err - } logrus.Debugf("Done reading logs for container %s, %d bytes", ctr.ID(), logSize) if err := <-errChan; err != nil { return err diff --git a/test/apiv2/python/rest_api/test_v2_0_0_container.py b/test/apiv2/python/rest_api/test_v2_0_0_container.py index 1b4597cf8..0386116a8 100644 --- a/test/apiv2/python/rest_api/test_v2_0_0_container.py +++ b/test/apiv2/python/rest_api/test_v2_0_0_container.py @@ -130,7 +130,7 @@ class ContainerTestCase(APITestCase): def test_attach(self): self.skipTest("FIXME: Test timeouts") - r = requests.post(self.uri(self.resolve_container("/containers/{}/attach")), timeout=5) + r = requests.post(self.uri(self.resolve_container("/containers/{}/attach?logs=true")), timeout=5) self.assertIn(r.status_code, (101, 500), r.text) def test_logs(self): |