Skip to content

Commit

Permalink
fix: close and release a socket when error occurs
Browse files Browse the repository at this point in the history
Fixed #179
  • Loading branch information
panjf2000 committed Jan 30, 2021
1 parent 83b96ed commit 9d86c92
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion acceptor_unix.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,19 @@ func (svr *server) acceptNewConnection(fd int) error {
el := svr.lb.next(netAddr)
c := newTCPConn(nfd, el, sa, netAddr)

_ = el.poller.Trigger(func() (err error) {
err = el.poller.Trigger(func() (err error) {
if err = el.poller.AddRead(nfd); err != nil {
_ = unix.Close(nfd)
c.releaseTCP()
return
}
el.connections[nfd] = c
err = el.loopOpen(c)
return
})
if err != nil {
_ = unix.Close(nfd)
c.releaseTCP()
}
return nil
}

0 comments on commit 9d86c92

Please sign in to comment.