From: qydysky Date: Wed, 12 Jul 2023 17:48:33 +0000 (+0800) Subject: add X-Git-Tag: v0.28.0+202307128bbd867 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=8bbd8674acb5daa7b53a8c893859a07f8dc3acea;p=part%2F.git add --- diff --git a/io/io.go b/io/io.go index fea9b2c..475e3f9 100644 --- a/io/io.go +++ b/io/io.go @@ -105,18 +105,28 @@ func WithCtxTO(ctx context.Context, callTree string, to time.Duration, w io.Writ return RWC{ func(p []byte) (n int, err error) { - if n, err = r.Read(p); n != 0 { - select { - case <-ctx.Done(): - default: + select { + case <-ctx.Done(): + chanw.Store(-1) + err = context.Canceled + return + default: + if n, err = r.Read(p); n != 0 { chanw.Store(time.Now().Unix()) } } return }, func(p []byte) (n int, err error) { - if n, err = w.Write(p); n != 0 { - chanw.Store(time.Now().Unix()) + select { + case <-ctx.Done(): + chanw.Store(-1) + err = context.Canceled + return + default: + if n, err = w.Write(p); n != 0 { + chanw.Store(time.Now().Unix()) + } } return }, diff --git a/reqf/Reqf.go b/reqf/Reqf.go index 1b87f64..0233921 100644 --- a/reqf/Reqf.go +++ b/reqf/Reqf.go @@ -280,8 +280,8 @@ func (t *Req) Reqf_1(ctx context.Context, val Rval) (err error) { val.SaveToChan <- buf[:n] } } else if we != nil { - if !errors.Is(e, io.EOF) { - err = errors.Join(err, ErrWriteRes, e) + if !errors.Is(we, io.EOF) { + err = errors.Join(err, ErrWriteRes, we) } break }