From: qydysky <32743305+qydysky@users.noreply.github.com> Date: Wed, 1 Mar 2023 18:46:09 +0000 (+0800) Subject: Add X-Git-Tag: v0.23.2 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=4458e4f95fb3fab0c6b366055fc11c452d267a16;p=part%2F.git Add --- diff --git a/reqf/Reqf.go b/reqf/Reqf.go index 44f8094..b38a0d2 100644 --- a/reqf/Reqf.go +++ b/reqf/Reqf.go @@ -52,6 +52,7 @@ type Req struct { cancelF func() cancel *signal.Signal running *signal.Signal + isLive *signal.Signal responFile *os.File err error @@ -72,6 +73,7 @@ func (t *Req) Reqf(val Rval) error { t.cancelF = nil t.cancel = signal.Init() t.running = signal.Init() + t.isLive = signal.Init() t.responFile = nil t.err = nil @@ -113,6 +115,7 @@ func (t *Req) Reqf(val Rval) error { } t.cancel.Done() t.l.Unlock() + t.isLive.Done() } else { go func() { t.Wait() @@ -127,6 +130,7 @@ func (t *Req) Reqf(val Rval) error { } t.cancel.Done() t.l.Unlock() + t.isLive.Done() }() } return t.err @@ -317,6 +321,10 @@ func (t *Req) Close() { t.cancel.Done() } +func (t *Req) IsLive() bool { + return t.isLive.Islive() +} + func IsTimeout(e error) bool { if errors.Is(e, context.DeadlineExceeded) { return true