diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-07-22 22:46:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-22 22:46:18 +0200 |
commit | a12a2312ac5c6c485eaa1d45e4b7e29d6cc4a9ff (patch) | |
tree | 2fe83dbecabff2df6aabfe7204418fd6fa05919e /pkg/varlinkapi/virtwriter | |
parent | cf9efa90e5dcf89e10408eae5229c4ce904d9fc7 (diff) | |
parent | 53e1ede46b030ad2aeecbdd7b2a385b60500ac4c (diff) | |
download | podman-a12a2312ac5c6c485eaa1d45e4b7e29d6cc4a9ff.tar.gz podman-a12a2312ac5c6c485eaa1d45e4b7e29d6cc4a9ff.tar.bz2 podman-a12a2312ac5c6c485eaa1d45e4b7e29d6cc4a9ff.zip |
Merge pull request #3143 from haircommander/conmon-exec
use conmon for exec
Diffstat (limited to 'pkg/varlinkapi/virtwriter')
-rw-r--r-- | pkg/varlinkapi/virtwriter/virtwriter.go | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/pkg/varlinkapi/virtwriter/virtwriter.go b/pkg/varlinkapi/virtwriter/virtwriter.go index 5e88914b2..0da2a91fc 100644 --- a/pkg/varlinkapi/virtwriter/virtwriter.go +++ b/pkg/varlinkapi/virtwriter/virtwriter.go @@ -4,8 +4,9 @@ import ( "bufio" "encoding/binary" "encoding/json" - "errors" "io" + + "github.com/pkg/errors" "k8s.io/client-go/tools/remotecommand" ) @@ -95,7 +96,7 @@ func Reader(r *bufio.Reader, output io.Writer, errput io.Writer, input io.Writer for { n, err := io.ReadFull(r, headerBytes) if err != nil { - return err + return errors.Wrapf(err, "Virtual Read failed, %d", n) } if n < 8 { return errors.New("short read and no full header read") @@ -151,3 +152,19 @@ func Reader(r *bufio.Reader, output io.Writer, errput io.Writer, input io.Writer } } } + +// HangUp sends message to peer to close connection +func HangUp(writer *bufio.Writer) (err error) { + n := 0 + msg := []byte("HANG-UP") + + writeQuit := NewVirtWriteCloser(writer, Quit) + if n, err = writeQuit.Write(msg); err != nil { + return + } + + if n != len(msg) { + return errors.Errorf("Failed to send complete %s message", string(msg)) + } + return +} |