diff options
author | Yunqiang Su | 2018-10-30 13:55:08 +0100 |
---|---|---|
committer | Laurent Vivier | 2018-11-12 16:38:26 +0100 |
commit | 113a9dd73f6377941e0a4bfd7aea5370728b1c28 (patch) | |
tree | 41ebde98a4f62620fcefbc2b93ee08d6f3561862 /linux-user | |
parent | linux-user: Clean up nios2 main loop signal handling (diff) | |
download | qemu-113a9dd73f6377941e0a4bfd7aea5370728b1c28.tar.gz qemu-113a9dd73f6377941e0a4bfd7aea5370728b1c28.tar.xz qemu-113a9dd73f6377941e0a4bfd7aea5370728b1c28.zip |
linux-user: Add support for SO_REUSEPORT
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 <ysu@wavecomp.com>
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <1540904108-30873-4-git-send-email-aleksandar.markovic@rt-rk.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'linux-user')
-rw-r--r-- | linux-user/strace.c | 3 | ||||
-rw-r--r-- | linux-user/syscall.c | 10 |
2 files changed, 13 insertions, 0 deletions
diff --git a/linux-user/strace.c b/linux-user/strace.c index 33f4a506a2..d1d14945f9 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 810a58b704..5c166928a4 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -2061,6 +2061,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; @@ -2222,6 +2227,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; |