mirror of
https://github.com/astaxie/beego.git
synced 2025-07-11 19:31:02 +00:00
fix panic: sync: negative WaitGroup counter
This commit is contained in:
@ -3,11 +3,14 @@ package grace
|
||||
import (
|
||||
"errors"
|
||||
"net"
|
||||
"sync"
|
||||
)
|
||||
|
||||
type graceConn struct {
|
||||
net.Conn
|
||||
server *Server
|
||||
m sync.Mutex
|
||||
closed bool
|
||||
}
|
||||
|
||||
func (c graceConn) Close() (err error) {
|
||||
@ -23,6 +26,14 @@ func (c graceConn) Close() (err error) {
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
c.m.Lock()
|
||||
if c.closed {
|
||||
c.m.Unlock()
|
||||
return
|
||||
}
|
||||
c.server.wg.Done()
|
||||
c.closed = true
|
||||
c.m.Unlock()
|
||||
return c.Conn.Close()
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user