File tree 2 files changed +17
-4
lines changed
2 files changed +17
-4
lines changed Original file line number Diff line number Diff line change @@ -2821,9 +2821,9 @@ func (w *responseWriter) SetReadDeadline(deadline time.Time) error {
2821
2821
if deadline .IsZero () {
2822
2822
st .readDeadline = nil
2823
2823
} else if st .readDeadline == nil {
2824
- st .readDeadline = sc .srv .afterFunc (deadline .Sub (w . rws . conn .srv .now ()), st .onReadTimeout )
2824
+ st .readDeadline = sc .srv .afterFunc (deadline .Sub (sc .srv .now ()), st .onReadTimeout )
2825
2825
} else {
2826
- st .readDeadline .Reset (deadline .Sub (w . rws . conn .srv .now ()))
2826
+ st .readDeadline .Reset (deadline .Sub (sc .srv .now ()))
2827
2827
}
2828
2828
})
2829
2829
return nil
@@ -2847,9 +2847,9 @@ func (w *responseWriter) SetWriteDeadline(deadline time.Time) error {
2847
2847
if deadline .IsZero () {
2848
2848
st .writeDeadline = nil
2849
2849
} else if st .writeDeadline == nil {
2850
- st .writeDeadline = sc .srv .afterFunc (deadline .Sub (w . rws . conn .srv .now ()), st .onWriteTimeout )
2850
+ st .writeDeadline = sc .srv .afterFunc (deadline .Sub (sc .srv .now ()), st .onWriteTimeout )
2851
2851
} else {
2852
- st .writeDeadline .Reset (deadline .Sub (w . rws . conn .srv .now ()))
2852
+ st .writeDeadline .Reset (deadline .Sub (sc .srv .now ()))
2853
2853
}
2854
2854
})
2855
2855
return nil
Original file line number Diff line number Diff line change @@ -4661,3 +4661,16 @@ func TestServerRequestCancelOnError(t *testing.T) {
4661
4661
})
4662
4662
<- donec
4663
4663
}
4664
+
4665
+ func TestServerSetReadWriteDeadlineRace (t * testing.T ) {
4666
+ ts := newTestServer (t , func (w http.ResponseWriter , r * http.Request ) {
4667
+ ctl := http .NewResponseController (w )
4668
+ ctl .SetReadDeadline (time .Now ().Add (3600 * time .Second ))
4669
+ ctl .SetWriteDeadline (time .Now ().Add (3600 * time .Second ))
4670
+ })
4671
+ resp , err := ts .Client ().Get (ts .URL )
4672
+ if err != nil {
4673
+ t .Fatal (err )
4674
+ }
4675
+ resp .Body .Close ()
4676
+ }
You can’t perform that action at this time.
0 commit comments