After an error in listener.Accept() remote object can be nil.
|
remote, err := listener.Accept() |
Calling
remote.Close() in this line causes a panic.
We noticed this behaviour because this error Error accepting connection from remote: accept tcp [::]:11211: accept4: too many open files causes our implementation to panic.
Since the wanted behavior is to continue the listener.Accept() loop in case of error, we should wrap this particular remote.Close() call with an if remote != nil statement
After an error in
listener.Accept()remoteobject can be nil.rend/server/listen.go
Line 122 in d3db570
Calling
remote.Close()in this line causes a panic.rend/server/listen.go
Line 125 in d3db570
We noticed this behaviour because this error
Error accepting connection from remote: accept tcp [::]:11211: accept4: too many open filescauses our implementation to panic.Since the wanted behavior is to continue the
listener.Accept()loop in case of error, we should wrap this particularremote.Close()call with anif remote != nilstatement