mirror of https://github.com/proxmox/mirror_qemu
bsd-user: Implement getpriority(2) and setpriority(2).
Signed-off-by: Stacey Son <sson@FreeBSD.org> Signed-off-by: Karim Taha <kariem.taha2.7@gmail.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <20230925182425.3163-19-kariem.taha2.7@gmail.com>master
parent
615ad41c61
commit
ff26637260
|
@ -390,4 +390,28 @@ static inline abi_long do_bsd_ptrace(abi_long arg1, abi_long arg2,
|
||||||
return -TARGET_ENOSYS;
|
return -TARGET_ENOSYS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* getpriority(2) */
|
||||||
|
static inline abi_long do_bsd_getpriority(abi_long which, abi_long who)
|
||||||
|
{
|
||||||
|
abi_long ret;
|
||||||
|
/*
|
||||||
|
* Note that negative values are valid for getpriority, so we must
|
||||||
|
* differentiate based on errno settings.
|
||||||
|
*/
|
||||||
|
errno = 0;
|
||||||
|
ret = getpriority(which, who);
|
||||||
|
if (ret == -1 && errno != 0) {
|
||||||
|
return -host_to_target_errno(errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* setpriority(2) */
|
||||||
|
static inline abi_long do_bsd_setpriority(abi_long which, abi_long who,
|
||||||
|
abi_long prio)
|
||||||
|
{
|
||||||
|
return get_errno(setpriority(which, who, prio));
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* !BSD_PROC_H_ */
|
#endif /* !BSD_PROC_H_ */
|
||||||
|
|
|
@ -359,6 +359,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num, abi_long arg1,
|
||||||
ret = do_bsd_ptrace(arg1, arg2, arg3, arg4);
|
ret = do_bsd_ptrace(arg1, arg2, arg3, arg4);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TARGET_FREEBSD_NR_getpriority: /* getpriority(2) */
|
||||||
|
ret = do_bsd_getpriority(arg1, arg2);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TARGET_FREEBSD_NR_setpriority: /* setpriority(2) */
|
||||||
|
ret = do_bsd_setpriority(arg1, arg2, arg3);
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* File system calls.
|
* File system calls.
|
||||||
|
|
Loading…
Reference in New Issue