[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 3/3] linux-user: Add support for SO_REUSEPORT
From: |
Aleksandar Markovic |
Subject: |
[Qemu-devel] [PATCH 3/3] linux-user: Add support for SO_REUSEPORT |
Date: |
Tue, 23 Oct 2018 11:58:08 +0200 |
From: Yunqiang Su <address@hidden>
Add support for SO_REUSEPORT, including strace support. SO_REUSEPORT
was introduced relatively recently, since Linux 3.9, so use
'#if defined SO_REUSEPORT'.
Signed-off-by: Yunqiang Su <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
---
linux-user/strace.c | 3 +++
linux-user/syscall.c | 10 ++++++++++
2 files changed, 13 insertions(+)
diff --git a/linux-user/strace.c b/linux-user/strace.c
index 33f4a50..d1d1494 100644
--- a/linux-user/strace.c
+++ b/linux-user/strace.c
@@ -1742,6 +1742,9 @@ print_optint:
case TARGET_SO_REUSEADDR:
gemu_log("SO_REUSEADDR,");
goto print_optint;
+ case TARGET_SO_REUSEPORT:
+ gemu_log("SO_REUSEPORT,");
+ goto print_optint;
case TARGET_SO_TYPE:
gemu_log("SO_TYPE,");
goto print_optint;
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 4b00b72..0e9dcfe 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -2057,6 +2057,11 @@ set_timeout:
case TARGET_SO_REUSEADDR:
optname = SO_REUSEADDR;
break;
+#ifdef SO_REUSEPORT
+ case TARGET_SO_REUSEPORT:
+ optname = SO_REUSEPORT;
+ break;
+#endif
case TARGET_SO_TYPE:
optname = SO_TYPE;
break;
@@ -2218,6 +2223,11 @@ static abi_long do_getsockopt(int sockfd, int level, int
optname,
case TARGET_SO_REUSEADDR:
optname = SO_REUSEADDR;
goto int_case;
+#ifdef SO_REUSEPORT
+ case TARGET_SO_REUSEPORT:
+ optname = SO_REUSEPORT;
+ goto int_case;
+#endif
case TARGET_SO_TYPE:
optname = SO_TYPE;
goto int_case;
--
2.7.4