Netflix / rend

A memcached proxy that manages data chunking and L1 / L2 caches

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error accepting connection from remote causes panic

B3rs opened this issue · comments

After an error in listener.Accept() remote object can be nil.

remote, err := listener.Accept()

Calling remote.Close() in this line causes a panic.
remote.Close()

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