7bb957bf75
We use a SOCK_SEQPACKET socket for the attach unix domain socket, which means the kernel will ensure that the reading side only ever get the data from one write operation. We use this for frameing, where the first byte is the pipe that the next bytes are for. We have to make sure that all reads from the socket are using at least the same size of buffer as the write side, because otherwise the extra data in the message will be dropped. This also adds a stdin pipe for the container, similar to the ones we use for stdout/err, because we need a way for an attached client to write to stdin, even if not using a tty. This fixes https://github.com/kubernetes-incubator/cri-o/issues/569 Signed-off-by: Alexander Larsson <alexl@redhat.com> |
||
---|---|---|
.. | ||
apparmor | ||
seccomp | ||
config.go | ||
container.go | ||
container_attach.go | ||
container_create.go | ||
container_exec.go | ||
container_execsync.go | ||
container_list.go | ||
container_portforward.go | ||
container_remove.go | ||
container_start.go | ||
container_status.go | ||
container_stop.go | ||
container_updateruntimeconfig.go | ||
image_list.go | ||
image_pull.go | ||
image_remove.go | ||
image_status.go | ||
runtime_status.go | ||
sandbox.go | ||
sandbox_list.go | ||
sandbox_remove.go | ||
sandbox_run.go | ||
sandbox_status.go | ||
sandbox_stop.go | ||
server.go | ||
utils.go | ||
version.go |