blob: a32b03160ccee0d71e05be90c295da080f3a2b6c [file] [log] [blame]
Fei Jie032a9a42016-03-17 17:30:45 +08001#include "tests.h"
2#include <sys/syscall.h>
3
4#if defined __NR_getpriority && defined __NR_setpriority
5
Fei Jie032a9a42016-03-17 17:30:45 +08006# include <stdio.h>
Fei Jie032a9a42016-03-17 17:30:45 +08007# include <sys/resource.h>
8# include <unistd.h>
9
10int
11main(void)
12{
13 const int pid = getpid();
Dmitry V. Levine5297ae2016-04-21 21:34:19 +000014 long rc = syscall(__NR_getpriority, PRIO_PROCESS,
15 (unsigned long) 0xffffffff00000000 | pid);
16 printf("getpriority(PRIO_PROCESS, %d) = %ld\n", pid, rc);
Fei Jie032a9a42016-03-17 17:30:45 +080017
Dmitry V. Levine5297ae2016-04-21 21:34:19 +000018 rc = syscall(__NR_setpriority, PRIO_PROCESS,
19 (unsigned long) 0xffffffff00000000 | pid,
20 (unsigned long) 0xffffffff00000000);
21 if (rc)
22 printf("setpriority(PRIO_PROCESS, %d, 0) = %ld %s (%m)\n",
23 pid, rc, errno2name());
24 else
Fei Jie032a9a42016-03-17 17:30:45 +080025 printf("setpriority(PRIO_PROCESS, %d, 0) = 0\n", pid);
Fei Jie032a9a42016-03-17 17:30:45 +080026
27 puts("+++ exited with 0 +++");
28 return 0;
29}
30
31#else
32
33SKIP_MAIN_UNDEFINED("__NR_getpriority && _NR_setpriority")
34
35#endif