summaryrefslogtreecommitdiff
path: root/go/vendor/gitlab.com/gitlab-org/gitaly/client/receive_pack.go
diff options
context:
space:
mode:
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.go26
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
- }
}