Improve server error handling

This commit is contained in:
世界
2023-03-02 00:18:35 +08:00
parent 20e1caa531
commit 6e22c004f6
4 changed files with 35 additions and 5 deletions

View File

@@ -39,10 +39,17 @@ func (a *myInboundAdapter) loopTCPIn() {
for {
conn, err := tcpListener.Accept()
if err != nil {
if E.IsClosed(err) {
//goland:noinspection GoDeprecation
//nolint:staticcheck
if netError, isNetError := err.(net.Error); isNetError && netError.Temporary() {
a.logger.Error(err)
continue
}
if a.inShutdown.Load() && E.IsClosed(err) {
return
}
a.logger.Error("accept: ", err)
a.tcpListener.Close()
a.logger.Error("serve error: ", err)
continue
}
go a.injectTCP(conn, adapter.InboundContext{})