]> 127.0.0.1 Git - part/.git/commitdiff
Add v0.23.2
authorqydysky <32743305+qydysky@users.noreply.github.com>
Wed, 1 Mar 2023 18:46:09 +0000 (02:46 +0800)
committerqydysky <32743305+qydysky@users.noreply.github.com>
Wed, 1 Mar 2023 18:46:09 +0000 (02:46 +0800)
reqf/Reqf.go

index 44f809480a422aee6197618c0dc03e21e024c9b1..b38a0d28a686f39faabc4ce3a3f22aed7d1100ae 100644 (file)
@@ -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