1
0
mirror of https://github.com/fumiama/go-registry.git synced 2026-06-08 10:00:35 +08:00

fix: Close

This commit is contained in:
源文雨
2022-03-28 17:06:52 +08:00
parent 5fd402268a
commit b75079a9ca

28
reg.go
View File

@@ -55,22 +55,26 @@ func NewRegReader(addr, pwd string) *Regedit {
}
func (r *Regedit) Connect() (err error) {
r.Lock()
r.conn, err = net.Dial("tcp", r.addr)
if err != nil {
r.isopen = true
if !r.isopen {
r.Lock()
r.conn, err = net.Dial("tcp", r.addr)
if err == nil {
r.isopen = true
}
r.Unlock()
}
r.Unlock()
return
}
func (r *Regedit) ConnectIn(wait time.Duration) (err error) {
r.Lock()
r.conn, err = net.DialTimeout("tcp", r.addr, wait)
if err != nil {
r.isopen = true
if !r.isopen {
r.Lock()
r.conn, err = net.DialTimeout("tcp", r.addr, wait)
if err == nil {
r.isopen = true
}
r.Unlock()
}
r.Unlock()
return
}
@@ -83,7 +87,9 @@ func (r *Regedit) Close() (err error) {
p.Put()
r.seq = 0
r.isopen = false
return r.conn.Close()
err = r.conn.Close()
r.conn = nil
return
}
return
}