@@ -103,38 +103,36 @@ func copyIO(fifos *FIFOSet, ioset *Streams) (*cio, error) {
103103 }, nil
104104}
105105
106- func openFifos (ctx context.Context , fifos * FIFOSet ) (pipes , error ) {
107- var err error
106+ func openFifos (ctx context.Context , fifos * FIFOSet ) (f pipes , retErr error ) {
108107 defer func () {
109- if err != nil {
108+ if retErr != nil {
110109 fifos .Close ()
111110 }
112111 }()
113112
114- var f pipes
115113 if fifos .Stdin != "" {
116- if f .Stdin , err = fifo .OpenFifo (ctx , fifos .Stdin , syscall .O_WRONLY | syscall .O_CREAT | syscall .O_NONBLOCK , 0700 ); err != nil {
117- return f , errors .Wrapf (err , "failed to open stdin fifo" )
114+ if f .Stdin , retErr = fifo .OpenFifo (ctx , fifos .Stdin , syscall .O_WRONLY | syscall .O_CREAT | syscall .O_NONBLOCK , 0700 ); retErr != nil {
115+ return f , errors .Wrapf (retErr , "failed to open stdin fifo" )
118116 }
119117 defer func () {
120- if err != nil && f .Stdin != nil {
118+ if retErr != nil && f .Stdin != nil {
121119 f .Stdin .Close ()
122120 }
123121 }()
124122 }
125123 if fifos .Stdout != "" {
126- if f .Stdout , err = fifo .OpenFifo (ctx , fifos .Stdout , syscall .O_RDONLY | syscall .O_CREAT | syscall .O_NONBLOCK , 0700 ); err != nil {
127- return f , errors .Wrapf (err , "failed to open stdout fifo" )
124+ if f .Stdout , retErr = fifo .OpenFifo (ctx , fifos .Stdout , syscall .O_RDONLY | syscall .O_CREAT | syscall .O_NONBLOCK , 0700 ); retErr != nil {
125+ return f , errors .Wrapf (retErr , "failed to open stdout fifo" )
128126 }
129127 defer func () {
130- if err != nil && f .Stdout != nil {
128+ if retErr != nil && f .Stdout != nil {
131129 f .Stdout .Close ()
132130 }
133131 }()
134132 }
135133 if ! fifos .Terminal && fifos .Stderr != "" {
136- if f .Stderr , err = fifo .OpenFifo (ctx , fifos .Stderr , syscall .O_RDONLY | syscall .O_CREAT | syscall .O_NONBLOCK , 0700 ); err != nil {
137- return f , errors .Wrapf (err , "failed to open stderr fifo" )
134+ if f .Stderr , retErr = fifo .OpenFifo (ctx , fifos .Stderr , syscall .O_RDONLY | syscall .O_CREAT | syscall .O_NONBLOCK , 0700 ); retErr != nil {
135+ return f , errors .Wrapf (retErr , "failed to open stderr fifo" )
138136 }
139137 }
140138 return f , nil
0 commit comments