mirror of
https://github.com/minio/minio.git
synced 2025-02-02 17:35:58 -05:00
Fix an issue with reusing closed network connetion, changing the way rateLimitedListener is initialized
This commit is contained in:
parent
dc11a411c7
commit
1f2e6a40a0
@ -27,7 +27,10 @@ import (
|
|||||||
// rateLimitedListener returns a Listener that accepts at most n simultaneous
|
// rateLimitedListener returns a Listener that accepts at most n simultaneous
|
||||||
// connections from the provided Listener.
|
// connections from the provided Listener.
|
||||||
func rateLimitedListener(l net.Listener, nconn int) net.Listener {
|
func rateLimitedListener(l net.Listener, nconn int) net.Listener {
|
||||||
return &rateLimitListener{l, make(chan struct{}, nconn)}
|
if nconn > 0 {
|
||||||
|
return &rateLimitListener{l, make(chan struct{}, nconn)}
|
||||||
|
}
|
||||||
|
return l
|
||||||
}
|
}
|
||||||
|
|
||||||
type rateLimitListener struct {
|
type rateLimitListener struct {
|
||||||
|
@ -92,11 +92,11 @@ func (n *minNet) getInheritedListeners() error {
|
|||||||
l, err := net.FileListener(file)
|
l, err := net.FileListener(file)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
file.Close()
|
file.Close()
|
||||||
retErr = fmt.Errorf("error inheriting socket fd %d: %s", i, err)
|
retErr = iodine.New(fmt.Errorf("error inheriting socket fd %d: %s", i, err), nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := file.Close(); err != nil {
|
if err := file.Close(); err != nil {
|
||||||
retErr = fmt.Errorf("error closing inherited socket fd %d: %s", i, err)
|
retErr = iodine.New(fmt.Errorf("error closing inherited socket fd %d: %s", i, err), nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
n.inheritedListeners = append(n.inheritedListeners, l)
|
n.inheritedListeners = append(n.inheritedListeners, l)
|
||||||
@ -159,10 +159,7 @@ func (n *minNet) ListenTCP(nett string, laddr *net.TCPAddr) (net.Listener, error
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, iodine.New(err, nil)
|
return nil, iodine.New(err, nil)
|
||||||
}
|
}
|
||||||
if n.connLimit > 0 {
|
n.activeListeners = append(n.activeListeners, rateLimitedListener(l, n.connLimit))
|
||||||
l = rateLimitedListener(l, n.connLimit)
|
|
||||||
}
|
|
||||||
n.activeListeners = append(n.activeListeners, l)
|
|
||||||
return l, nil
|
return l, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -197,10 +194,7 @@ func (n *minNet) ListenUnix(nett string, laddr *net.UnixAddr) (net.Listener, err
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, iodine.New(err, nil)
|
return nil, iodine.New(err, nil)
|
||||||
}
|
}
|
||||||
if n.connLimit > 0 {
|
n.activeListeners = append(n.activeListeners, rateLimitedListener(l, n.connLimit))
|
||||||
l = rateLimitedListener(l, n.connLimit)
|
|
||||||
}
|
|
||||||
n.activeListeners = append(n.activeListeners, l)
|
|
||||||
return l, nil
|
return l, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ func getAPIServer(conf api.Config, apiHandler http.Handler) (*http.Server, error
|
|||||||
func getRPCServer(rpcHandler http.Handler) *http.Server {
|
func getRPCServer(rpcHandler http.Handler) *http.Server {
|
||||||
// Minio server config
|
// Minio server config
|
||||||
httpServer := &http.Server{
|
httpServer := &http.Server{
|
||||||
Addr: "127.0.0.1:9001", // TODO make this configurable
|
Addr: ":9001", // TODO make this configurable
|
||||||
Handler: rpcHandler,
|
Handler: rpcHandler,
|
||||||
MaxHeaderBytes: 1 << 20,
|
MaxHeaderBytes: 1 << 20,
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user