diff options
| author | Eric Andersen <andersen@codepoet.org> | 2002-08-28 03:34:38 +0000 | 
|---|---|---|
| committer | Eric Andersen <andersen@codepoet.org> | 2002-08-28 03:34:38 +0000 | 
| commit | d389f8f3bc5c73bb83fe54e39d77946a2f57901b (patch) | |
| tree | e3b38c25feccea3d50dfe431d310bee4aa9ab5d4 | |
| parent | 033caa0a43fed8a298fa1e5a00f05e9bcd111cd7 (diff) | |
Fix broken getpriority syscall, per email from Marshall M. Midden
 -Erik
| -rw-r--r-- | libc/sysdeps/linux/common/syscalls.c | 17 | 
1 files changed, 15 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/common/syscalls.c b/libc/sysdeps/linux/common/syscalls.c index 1b31f7603..54eb744ba 100644 --- a/libc/sysdeps/linux/common/syscalls.c +++ b/libc/sysdeps/linux/common/syscalls.c @@ -870,9 +870,22 @@ _syscall3(int, fchown, int, fd, uid_t, owner, gid_t, group);  #endif  //#define __NR_getpriority      96 -#ifdef L_getpriority +#ifdef L___syscall_getpriority  #include <sys/resource.h> -_syscall2(int, getpriority, __priority_which_t, which, id_t, who); +#define __NR___syscall_getpriority __NR_getpriority +_syscall2(int, __syscall_getpriority, __priority_which_t, which, id_t, who); +/* The return value of __syscall_getpriority is biased by this value + * to avoid returning negative values.  */ +#define PZERO 20 +int getpriority (enum __priority_which which, id_t who) +{ +	int res; + +	res = __syscall_getpriority(which, who); +	if (res >= 0) +		res = PZERO - res; +	return res; +}  #endif  //#define __NR_setpriority      97  | 
