diff options
Diffstat (limited to 'go/vendor/gitlab.com/gitlab-org/gitaly/client/receive_pack.go')
-rw-r--r-- | go/vendor/gitlab.com/gitlab-org/gitaly/client/receive_pack.go | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly/client/receive_pack.go b/go/vendor/gitlab.com/gitlab-org/gitaly/client/receive_pack.go index f62d76d..39ba7ae 100644 --- a/go/vendor/gitlab.com/gitlab-org/gitaly/client/receive_pack.go +++ b/go/vendor/gitlab.com/gitlab-org/gitaly/client/receive_pack.go @@ -1,7 +1,6 @@ package client import ( - "fmt" "io" "google.golang.org/grpc" @@ -31,30 +30,11 @@ func ReceivePack(ctx context.Context, conn *grpc.ClientConn, stdin io.Reader, st return stream.Send(&pb.SSHReceivePackRequest{Stdin: p}) }) - errC := make(chan error, 1) - - go func() { + return streamHandler(func() (stdoutStderrResponse, error) { + return stream.Recv() + }, func(errC chan error) { _, errRecv := io.Copy(inWriter, stdin) stream.CloseSend() errC <- errRecv - }() - - exitStatus, errRecv := recvStdoutStderrStream(func() (stdoutStderrResponse, error) { - return stream.Recv() }, stdout, stderr) - - if errRecv != nil { - return exitStatus, errRecv - } - - select { - case errSend := <-errC: - if errSend != nil { - // This should not happen - errSend = fmt.Errorf("stdin send error: %v", errSend) - } - return exitStatus, errSend - default: - return exitStatus, nil - } } |