@@ -35,14 +35,10 @@ func (pf *templateUploadFlags) stdin() bool {
35
35
36
36
func (pf * templateUploadFlags ) upload (cmd * cobra.Command , client * codersdk.Client ) (* codersdk.UploadResponse , error ) {
37
37
var (
38
- content io.Reader
39
- pipeErrCh = make (chan error , 1 )
38
+ content io.Reader
40
39
)
41
40
if pf .stdin () {
42
41
content = cmd .InOrStdin ()
43
- // No piping if reading from stdin.
44
- pipeErrCh <- nil
45
- close (pipeErrCh )
46
42
} else {
47
43
prettyDir := prettyDirectoryPath (pf .directory )
48
44
_ , err := cliui .Prompt (cmd , cliui.PromptOptions {
@@ -56,11 +52,11 @@ func (pf *templateUploadFlags) upload(cmd *cobra.Command, client *codersdk.Clien
56
52
57
53
pipeReader , pipeWriter := io .Pipe ()
58
54
go func () {
59
- defer pipeWriter .Close ()
60
- defer close (pipeErrCh )
61
55
bufWr := bufio .NewWriter (pipeWriter )
62
56
defer bufWr .Flush ()
63
- pipeErrCh <- provisionersdk .Tar (bufWr , pf .directory , provisionersdk .TemplateArchiveLimit )
57
+
58
+ err := provisionersdk .Tar (bufWr , pf .directory , provisionersdk .TemplateArchiveLimit )
59
+ _ = pipeWriter .CloseWithError (err )
64
60
}()
65
61
defer pipeReader .Close ()
66
62
content = pipeReader
@@ -76,9 +72,6 @@ func (pf *templateUploadFlags) upload(cmd *cobra.Command, client *codersdk.Clien
76
72
if err != nil {
77
73
return nil , xerrors .Errorf ("upload: %w" , err )
78
74
}
79
- if err = <- pipeErrCh ; err != nil {
80
- return nil , xerrors .Errorf ("pipe: %w" , err )
81
- }
82
75
return & resp , nil
83
76
}
84
77
0 commit comments