File tree 2 files changed +10
-5
lines changed
2 files changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -204,7 +204,7 @@ type WaitReadCloser struct {
204
204
func (w * WaitReadCloser ) Set (rc io.ReadCloser ) {
205
205
w .ReadCloser = rc
206
206
defer func () {
207
- if err := recover (); err != nil {
207
+ if recover () != nil {
208
208
rc .Close ()
209
209
}
210
210
}()
@@ -225,10 +225,8 @@ func (w *WaitReadCloser) Close() error {
225
225
return w .ReadCloser .Close ()
226
226
}
227
227
defer func () {
228
- if err := recover (); err != nil {
229
- if w .ReadCloser != nil {
230
- w .ReadCloser .Close ()
231
- }
228
+ if recover () != nil && w .ReadCloser != nil {
229
+ w .ReadCloser .Close ()
232
230
}
233
231
}()
234
232
close (w .Wait )
Original file line number Diff line number Diff line change @@ -51,6 +51,13 @@ func (fw flushWriter) Write(p []byte) (n int, err error) {
51
51
return 0 , io .ErrClosedPipe
52
52
}
53
53
54
+ defer func () {
55
+ if recover () != nil {
56
+ fw .d .Close ()
57
+ err = io .ErrClosedPipe
58
+ }
59
+ }()
60
+
54
61
n , err = fw .w .Write (p )
55
62
if f , ok := fw .w .(http.Flusher ); ok && err == nil {
56
63
f .Flush ()
You can’t perform that action at this time.
0 commit comments