From: qydysky Date: Tue, 11 May 2021 07:58:29 +0000 (+0800) Subject: req id X-Git-Tag: v0.5.15 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=942e3412ed6d4640899244b7d2d02a5489ca2109;p=part%2F.git req id --- diff --git a/io/io.go b/io/io.go index 1572fdf..fb0be33 100644 --- a/io/io.go +++ b/io/io.go @@ -12,10 +12,10 @@ func RW2Chan(r io.ReadCloser,w io.WriteCloser) (rc,wc chan[]byte) { go func(rc chan[]byte,r io.ReadCloser){ for { buf := make([]byte, 1<<16) - n,_ := r.Read(buf) + n,e := r.Read(buf) if n != 0 { rc <- buf[:n] - } else { + } else if e != nil { close(rc) break } diff --git a/reqf/Reqf.go b/reqf/Reqf.go index 2b3b9d2..34ac6cf 100644 --- a/reqf/Reqf.go +++ b/reqf/Reqf.go @@ -41,12 +41,17 @@ type Req struct { UsedTime time.Duration id *idpool.Id + idp *idpool.Idpool cancel *signal.Signal sync.Mutex } func New() *Req{ - return &Req{} + idp := idpool.New() + return &Req{ + idp:idp, + id:idp.Get(), + } } // func main(){ @@ -69,14 +74,9 @@ func (this *Req) Reqf(val Rval) (error) { if _val.Timeout==0{_val.Timeout=3} - { - idp := idpool.New() - this.id = idp.Get() - defer func(){ - idp.Put(this.id) - this.id = nil - }() - } + defer func(){ + this.idp.Put(this.id) + }() this.cancel = signal.Init()