this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Implement setpriority(2) system call

+46 -22
+1
src/kernel/emulation/linux/CMakeLists.txt
··· 113 113 process/execve.c 114 114 process/posix_spawn.c 115 115 process/getpriority.c 116 + process/setpriority.c 116 117 signal/duct_signals.c 117 118 signal/kill.c 118 119 signal/sigaltstack.c
+1 -22
src/kernel/emulation/linux/process/getpriority.h
··· 1 1 #ifndef LINUX_GETPRIORITY_H 2 2 #define LINUX_GETPRIORITY_H 3 3 4 - #include <sys/_types.h> 5 - #include <sys/_types/_id_t.h> 6 - #include "../errno.h" 7 - #include "../base.h" 8 - #include <linux-syscalls/linux.h> 4 + #include "priority.h" 9 5 10 6 int sys_getpriority(int which, id_t who); 11 - 12 - // Same on BSD and Linux 13 - #define PRIO_PROCESS 0 14 - #define PRIO_PGRP 1 15 - #define PRIO_USER 2 16 - 17 - // Unique to Darwin 18 - #define PRIO_DARWIN_THREAD 3 19 - #define PRIO_DARWIN_PROCESS 4 20 - 21 - // Same on BSD and Linux 22 - #define PRIO_MIN -20 23 - #define PRIO_MAX 20 24 - 25 - // Unique to Darwin 26 - #define PRIO_DARWIN_BG 0x1000 27 - #define PRIO_DARWIN_NONUI 0x1001 28 7 29 8 #endif
+27
src/kernel/emulation/linux/process/priority.h
··· 1 + #ifndef LINUX_PRIORITY_H 2 + #define LINUX_PRIORITY_H 3 + 4 + #include <sys/_types.h> 5 + #include <sys/_types/_id_t.h> 6 + #include "../errno.h" 7 + #include "../base.h" 8 + #include <linux-syscalls/linux.h> 9 + 10 + // Same on BSD and Linux 11 + #define PRIO_PROCESS 0 12 + #define PRIO_PGRP 1 13 + #define PRIO_USER 2 14 + 15 + // Unique to Darwin 16 + #define PRIO_DARWIN_THREAD 3 17 + #define PRIO_DARWIN_PROCESS 4 18 + 19 + // Same on BSD and Linux 20 + #define PRIO_MIN -20 21 + #define PRIO_MAX 20 22 + 23 + // Unique to Darwin 24 + #define PRIO_DARWIN_BG 0x1000 25 + #define PRIO_DARWIN_NONUI 0x1001 26 + 27 + #endif
+7
src/kernel/emulation/linux/process/setpriority.c
··· 1 + #include "setpriority.h" 2 + 3 + int sys_setpriority(int which, int who, int prio) { 4 + return LINUX_SYSCALL(__NR_setpriority, which, who, prio); 5 + 6 + // TODO: Errors 7 + }
+8
src/kernel/emulation/linux/process/setpriority.h
··· 1 + #ifndef LINUX_SETPRIORITY_H 2 + #define LINUX_SETPRIORITY_H 3 + 4 + #include "priority.h" 5 + 6 + int sys_setpriority(int which, int who, int prio); 7 + 8 + #endif
+2
src/kernel/emulation/linux/syscalls.c
··· 87 87 #include "process/waitid.h" 88 88 #include "process/execve.h" 89 89 #include "process/getpriority.h" 90 + #include "process/setpriority.h" 90 91 #include "misc/getentropy.h" 91 92 #include "misc/getlogin.h" 92 93 #include "misc/shared_region_check_np.h" ··· 237 238 [92] = sys_fcntl, 238 239 [93] = sys_select, 239 240 [95] = sys_fsync, 241 + [96] = sys_setpriority, 240 242 [97] = sys_socket, 241 243 [98] = sys_connect, 242 244 [100] = sys_getpriority,