sockets: don't double buffer size for sockets
SO_SNDBUF and SO_RCVBUF sets a double input value, because "Linux reserves half of te socket buffer for metadata." So if a process is suspended/restored many times, a socket buffer size is doubled on each iteration and in a one moment it is overflowed. Very likely the program hangs in such situation, because the socket with negative buffer size is unusable. Signed-off-by:Andrey Vagin <avagin@openvz.org> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
Showing
Please
register
or
sign in
to comment