common/interrupt: close connections outside group lock

This commit is contained in:
embogomolov
2026-07-22 13:41:53 +03:00
parent 7c19b660b4
commit d2805ffcc9
3 changed files with 75 additions and 5 deletions

View File

@@ -29,8 +29,8 @@ type Conn struct {
func (c *Conn) Close() error {
c.group.access.Lock()
defer c.group.access.Unlock()
c.group.connections.Remove(c.element)
c.group.access.Unlock()
return c.Conn.Close()
}
@@ -58,8 +58,8 @@ type PacketConn struct {
func (c *PacketConn) Close() error {
c.group.access.Lock()
defer c.group.access.Unlock()
c.group.connections.Remove(c.element)
c.group.access.Unlock()
return c.PacketConn.Close()
}
@@ -87,8 +87,8 @@ type SingPacketConn struct {
func (c *SingPacketConn) Close() error {
c.group.access.Lock()
defer c.group.access.Unlock()
c.group.connections.Remove(c.element)
c.group.access.Unlock()
return c.PacketConn.Close()
}