podman/libpod
Matthew Heon 00cca405d2 HTTP Attach: Wait until both STDIN and STDOUT finish
In the old code, there was a chance that we could return when
only one of STDIN or STDOUT had finished - this could lead to us
dropping either input to the container, or output from it, in the
case that one stream terminated early.

To resolve this, use separate channels to return STDOUT and STDIN
errors, and track which ones have returned cleanly to ensure that
we need bith in order to return from the HTTP attach function and
pass control back to the HTTP handler (which would assume we
exited cleanly and close the client's attach connection).

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-09-24 14:48:26 -04:00
..
common Set blob cache directory based on GraphDriver 2019-03-29 08:27:33 -04:00
define Include cgroup manager in `podman info` output 2020-09-22 13:15:01 -04:00
driver removMergeDir from inspect result if not mounted 2019-08-13 15:13:20 -04:00
events add event for image build 2020-08-12 10:00:51 -05:00
filters Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
image image list: return all associated names 2020-09-17 12:23:58 +02:00
layers
linkmode Add podman static build 2020-05-11 13:11:07 +02:00
lock Delete prior /dev/shm/* 2020-08-28 09:26:33 -04:00
logs fix podman logs --tail when log is bigger than pagesize 2020-08-06 20:56:30 +02:00
boltdb_state.go Unconditionally retrieve pod names via API 2020-08-10 10:15:51 -04:00
boltdb_state_internal.go Improve error message when creating a pod/ctr with the same name 2020-08-04 11:39:27 +02:00
boltdb_state_linux.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
boltdb_state_unsupported.go podman-remote inspect 2019-01-18 15:43:11 -06:00
common_test.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_api.go Force Attach() to send a SIGWINCH and redraw 2020-09-10 17:54:47 -04:00
container_commit.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_config.go Ensure pod infra containers have an exit command 2020-08-13 14:03:57 -04:00
container_exec.go Preserve groups in exec sessions in ctrs with --user 2020-09-18 13:54:25 -04:00
container_graph.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_graph_test.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_inspect.go podman: add option --cgroup-conf 2020-08-21 19:06:05 +02:00
container_internal.go Fix up errors found by codespell 2020-09-11 06:14:25 -04:00
container_internal_linux.go Fix --systemd=always regression 2020-09-15 13:29:44 -04:00
container_internal_linux_test.go Make an entry in /etc/group when we modify /etc/passwd 2020-09-10 13:02:31 -04:00
container_internal_test.go Refactor container config 2020-07-23 10:18:14 -04:00
container_internal_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_linux.go
container_log.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_log_linux.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_log_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_top_linux.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_top_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
container_unsupported.go
container_validate.go rootless: support `podman network create` (CNI-in-slirp4netns) 2020-09-09 15:47:38 +09:00
diff.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
events.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
healthcheck.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
healthcheck_linux.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
healthcheck_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
in_memory_state.go Unconditionally retrieve pod names via API 2020-08-10 10:15:51 -04:00
info.go Include cgroup manager in `podman info` output 2020-09-22 13:15:01 -04:00
kube.go handle the play kube and generate kube for with restartPolicy 2020-09-18 13:28:22 +08:00
mounts_linux.go set root propagation based on volume properties 2018-11-26 13:55:02 +01:00
networking_linux.go rootless: support `podman network create` (CNI-in-slirp4netns) 2020-09-09 15:47:38 +09:00
networking_unsupported.go rootless: support `podman network create` (CNI-in-slirp4netns) 2020-09-09 15:47:38 +09:00
oci.go Send HTTP Hijack headers after successful attach 2020-08-27 12:50:22 -04:00
oci_attach_linux.go update github.com/docker/docker and relevant deps 2020-09-18 02:22:25 +09:00
oci_attach_linux_cgo.go Implement conmon exec 2019-07-22 15:57:23 -04:00
oci_attach_linux_nocgo.go Implement conmon exec 2019-07-22 15:57:23 -04:00
oci_attach_unsupported.go Force Attach() to send a SIGWINCH and redraw 2020-09-10 17:54:47 -04:00
oci_conmon.go podman: add new cgroup mode split 2020-06-25 17:16:12 +02:00
oci_conmon_exec_linux.go HTTP Attach: Wait until both STDIN and STDOUT finish 2020-09-24 14:48:26 -04:00
oci_conmon_linux.go HTTP Attach: Wait until both STDIN and STDOUT finish 2020-09-24 14:48:26 -04:00
oci_conmon_unsupported.go Add global options --runtime-flags 2020-09-04 15:04:36 -04:00
oci_missing.go Send HTTP Hijack headers after successful attach 2020-08-27 12:50:22 -04:00
oci_util.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
options.go Fix podman pod create --infra-command and --infra-image 2020-09-16 07:42:19 -04:00
pod.go Fix podman pod create --infra-command and --infra-image 2020-09-16 07:42:19 -04:00
pod_api.go Clean up pods before returning from Pod Stop API call 2020-08-17 11:04:26 -04:00
pod_internal.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
pod_status.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
pod_top_linux.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
pod_top_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
reset.go Don't remove config files with podman system reset 2020-08-28 15:22:03 +02:00
rootless_cni_linux.go libpod: bumps up rootless-cni-infra to 2 2020-09-21 20:11:11 +09:00
runtime.go Add global options --runtime-flags 2020-09-04 15:04:36 -04:00
runtime_cstorage.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_ctr.go Merge pull request #7460 from AkihiroSuda/allow-rootless-cni 2020-09-10 14:00:49 -04:00
runtime_img.go Supports import&run--signature-policy 2020-09-15 16:09:33 -04:00
runtime_img_test.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_migrate.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_migrate_unsupported.go Add podman system reset command 2019-11-29 05:34:52 -05:00
runtime_pod.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_pod_infra_linux.go fix the .Path and .Args when use the infra-command 2020-09-18 09:57:54 +08:00
runtime_pod_linux.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_pod_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_renumber.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_volume.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_volume_linux.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
runtime_volume_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
state.go Unconditionally retrieve pod names via API 2020-08-10 10:15:51 -04:00
state_test.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
stats.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
stats_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
storage.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
util.go Send HTTP Hijack headers after successful attach 2020-08-27 12:50:22 -04:00
util_linux.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
util_test.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
util_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
volume.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
volume_inspect.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
volume_internal.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
volume_internal_linux.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00
volume_internal_unsupported.go Switch all references to github.com/containers/libpod -> podman 2020-07-28 08:23:45 -04:00