| #include "tests.h" |
| #include <sys/syscall.h> |
| |
| #if defined __NR_getpriority && defined __NR_setpriority |
| |
| # include <errno.h> |
| # include <stdio.h> |
| # include <sys/time.h> |
| # include <sys/resource.h> |
| # include <unistd.h> |
| |
| int |
| main(void) |
| { |
| const int pid = getpid(); |
| int rc = syscall(__NR_getpriority, PRIO_PROCESS, |
| (unsigned long) 0xffffffff00000000 | pid); |
| printf("getpriority(PRIO_PROCESS, %d) = %d\n", |
| pid, rc); |
| |
| if ((syscall(__NR_setpriority, PRIO_PROCESS, |
| (unsigned long) 0xffffffff00000000 | pid, |
| (unsigned long) 0xffffffff00000000)) == 0) { |
| printf("setpriority(PRIO_PROCESS, %d, 0) = 0\n", pid); |
| } else { |
| printf("setpriority(PRIO_PROCESS, %d, 0) = -1 %s (%m)\n", |
| pid, errno == EPERM ? "EPERM" : "EACCES"); |
| } |
| |
| puts("+++ exited with 0 +++"); |
| return 0; |
| } |
| |
| #else |
| |
| SKIP_MAIN_UNDEFINED("__NR_getpriority && _NR_setpriority") |
| |
| #endif |