systemd/0038-core-socket-fix-SO_REUSEPORT.patch

39 lines
2.0 KiB
Diff

From f0511bd7e3d591383485a36ddcb764abe74b1939 Mon Sep 17 00:00:00 2001
From: Shawn Landden <shawn@churchofgit.com>
Date: Sat, 16 Nov 2013 13:18:13 -0800
Subject: [PATCH] core/socket: fix SO_REUSEPORT
---
src/core/load-fragment-gperf.gperf.m4 | 1 +
src/core/socket.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git src/core/load-fragment-gperf.gperf.m4 src/core/load-fragment-gperf.gperf.m4
index e3025d2..b64fdc9 100644
--- src/core/load-fragment-gperf.gperf.m4
+++ src/core/load-fragment-gperf.gperf.m4
@@ -210,6 +210,7 @@ Socket.Broadcast, config_parse_bool, 0,
Socket.PassCredentials, config_parse_bool, 0, offsetof(Socket, pass_cred)
Socket.PassSecurity, config_parse_bool, 0, offsetof(Socket, pass_sec)
Socket.TCPCongestion, config_parse_string, 0, offsetof(Socket, tcp_congestion)
+Socket.ReusePort, config_parse_bool, 0, offsetof(Socket, reuseport)
Socket.MessageQueueMaxMessages, config_parse_long, 0, offsetof(Socket, mq_maxmsg)
Socket.MessageQueueMessageSize, config_parse_long, 0, offsetof(Socket, mq_msgsize)
Socket.Service, config_parse_socket_service, 0, 0
diff --git src/core/socket.c src/core/socket.c
index f505e4f..751f20b 100644
--- src/core/socket.c
+++ src/core/socket.c
@@ -771,7 +771,7 @@ static void socket_apply_socket_options(Socket *s, int fd) {
if (s->reuseport) {
int b = s->reuseport;
- if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &b, sizeof(b)))
+ if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &b, sizeof(b)) < 0)
log_warning_unit(UNIT(s)->id, "SO_REUSEPORT failed: %m");
}
--
1.7.9.2