mirror of
https://github.com/minio/minio.git
synced 2025-03-30 17:23:42 -04:00
server-mux: Keep listening after Accept() err (#3613)
Accept() can return errors like: `too many open files`, no need to totally quit listening in this case.
This commit is contained in:
parent
d1d89116f1
commit
fc6f804865
@ -191,20 +191,20 @@ func newListenerMux(listener net.Listener, config *tls.Config) *ListenerMux {
|
|||||||
}
|
}
|
||||||
// Start listening, wrap connections with tls when needed
|
// Start listening, wrap connections with tls when needed
|
||||||
go func() {
|
go func() {
|
||||||
|
// Extract tcp listener.
|
||||||
|
tcpListener, ok := l.Listener.(*net.TCPListener)
|
||||||
|
if !ok {
|
||||||
|
l.acceptResCh <- ListenerMuxAcceptRes{err: errInvalidArgument}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// Loop for accepting new connections
|
// Loop for accepting new connections
|
||||||
for {
|
for {
|
||||||
// Extract tcp listener.
|
|
||||||
tcpListener, ok := l.Listener.(*net.TCPListener)
|
|
||||||
if !ok {
|
|
||||||
l.acceptResCh <- ListenerMuxAcceptRes{err: errInvalidArgument}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// Use accept TCP method to receive the connection.
|
// Use accept TCP method to receive the connection.
|
||||||
conn, err := tcpListener.AcceptTCP()
|
conn, err := tcpListener.AcceptTCP()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
l.acceptResCh <- ListenerMuxAcceptRes{err: err}
|
l.acceptResCh <- ListenerMuxAcceptRes{err: err}
|
||||||
return
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
// Enable Read timeout
|
// Enable Read timeout
|
||||||
|
Loading…
x
Reference in New Issue
Block a user