summaryrefslogtreecommitdiffstats
path: root/linux-user/syscall.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux-user/syscall.c')
-rw-r--r--linux-user/syscall.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 07220eee40..55ac5c3208 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -6874,10 +6874,16 @@ static abi_long do_fcntl(int fd, int cmd, abi_ulong arg)
break;
#endif
- case TARGET_F_SETOWN:
- case TARGET_F_GETOWN:
case TARGET_F_SETSIG:
+ ret = get_errno(safe_fcntl(fd, host_cmd, target_to_host_signal(arg)));
+ break;
+
case TARGET_F_GETSIG:
+ ret = host_to_target_signal(get_errno(safe_fcntl(fd, host_cmd, arg)));
+ break;
+
+ case TARGET_F_SETOWN:
+ case TARGET_F_GETOWN:
case TARGET_F_SETLEASE:
case TARGET_F_GETLEASE:
case TARGET_F_SETPIPE_SZ: