summaryrefslogtreecommitdiff
path: root/pkg/varlinkapi/virtwriter
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-07-22 22:46:18 +0200
committerGitHub <noreply@github.com>2019-07-22 22:46:18 +0200
commita12a2312ac5c6c485eaa1d45e4b7e29d6cc4a9ff (patch)
tree2fe83dbecabff2df6aabfe7204418fd6fa05919e /pkg/varlinkapi/virtwriter
parentcf9efa90e5dcf89e10408eae5229c4ce904d9fc7 (diff)
parent53e1ede46b030ad2aeecbdd7b2a385b60500ac4c (diff)
downloadpodman-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.go21
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
+}