From: Yu Watanabe Date: Tue, 8 Sep 2020 15:25:23 +0000 (+0900) Subject: core/socket: use fd_set_{rcv,snd}buf() X-Git-Tag: v247-rc1~278^2~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ded71ab3bc580852a378b6cfac5e8d4053697b75;p=thirdparty%2Fsystemd.git core/socket: use fd_set_{rcv,snd}buf() --- diff --git a/src/core/socket.c b/src/core/socket.c index 855b354dd8d..a21584ea483 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -1058,20 +1058,15 @@ static void socket_apply_socket_options(Socket *s, int fd) { } if (s->receive_buffer > 0) { - /* We first try with SO_RCVBUFFORCE, in case we have the perms for that */ - if (setsockopt_int(fd, SOL_SOCKET, SO_RCVBUFFORCE, s->receive_buffer) < 0) { - r = setsockopt_int(fd, SOL_SOCKET, SO_RCVBUF, s->receive_buffer); - if (r < 0) - log_unit_warning_errno(UNIT(s), r, "SO_RCVBUF failed: %m"); - } + r = fd_set_rcvbuf(fd, s->receive_buffer, false); + if (r < 0) + log_unit_warning_errno(UNIT(s), r, "SO_RCVBUF/SO_RCVBUFFORCE failed: %m"); } if (s->send_buffer > 0) { - if (setsockopt_int(fd, SOL_SOCKET, SO_SNDBUFFORCE, s->send_buffer) < 0) { - r = setsockopt_int(fd, SOL_SOCKET, SO_SNDBUF, s->send_buffer); - if (r < 0) - log_unit_warning_errno(UNIT(s), r, "SO_SNDBUF failed: %m"); - } + r = fd_set_sndbuf(fd, s->receive_buffer, false); + if (r < 0) + log_unit_warning_errno(UNIT(s), r, "SO_SNDBUF/SO_SNDBUFFORCE failed: %m"); } if (s->mark >= 0) {