1
0
mirror of https://github.com/astaxie/beego.git synced 2024-12-23 19:40:50 +00:00
Beego/grace/conn.go
2016-01-04 23:34:45 +08:00

29 lines
388 B
Go

package grace
import (
"errors"
"net"
)
type graceConn struct {
net.Conn
server *Server
}
func (c graceConn) Close() (err error) {
defer func() {
if r := recover(); r != nil {
switch x := r.(type) {
case string:
err = errors.New(x)
case error:
err = x
default:
err = errors.New("Unknown panic")
}
}
}()
c.server.wg.Done()
return c.Conn.Close()
}