Browse Source

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>
pull/77/head
Yunqiang Su 8 years ago
committed by Laurent Vivier
parent
commit
113a9dd73f
  1. 3
      linux-user/strace.c
  2. 10
      linux-user/syscall.c

3
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;

10
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;

Loading…
Cancel
Save