this repo has no description
1
fork

Configure Feed

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

Implement POSIX_SPAWN_START_SUSPENDED (#304)

+9 -2
+6
src/kernel/emulation/linux/process/posix_spawn.c
··· 17 17 #include "../unistd/setgid.h" 18 18 #include "../unistd/setpgid.h" 19 19 #include "../signal/sigprocmask.h" 20 + #include "../mach/lkm.h" 21 + #include "lkm/api.h" 20 22 #include "fork.h" 21 23 #include <stddef.h> 22 24 #include <stdint.h> ··· 75 77 pers |= LINUX_ADDR_NO_RANDOMIZE; 76 78 LINUX_SYSCALL(__NR_personality, pers); 77 79 } 80 + } 81 + if (desc->attrp->psa_flags & POSIX_SPAWN_START_SUSPENDED) 82 + { 83 + lkm_call(NR_stop_after_exec, NULL); 78 84 } 79 85 80 86 // TODO: other attributes
+1 -1
src/kernel/libsyscall/CMakeLists.txt
··· 73 73 set(syscall_sources 74 74 mach/mach_traps.S 75 75 os/alloc_once.c 76 - wrappers/elfcalls.c 76 + wrappers/elfcalls_setup.c 77 77 wrappers/libproc/libproc.c 78 78 wrappers/libproc/proc_listpidspath.c 79 79
+1 -1
src/kernel/libsyscall/wrappers/_libkernel_init.c
··· 27 27 */ 28 28 29 29 #include "_libkernel_init.h" 30 - #include "elfcalls.h" 30 + #include "elfcalls_setup.h" 31 31 32 32 extern int mach_init(void); 33 33
+1
src/kernel/libsyscall/wrappers/elfcalls.c src/kernel/libsyscall/wrappers/elfcalls_setup.c
··· 1 1 #include <stdint.h> 2 2 #include <stddef.h> 3 + #include "elfcalls_setup.h" 3 4 #include <elfcalls.h> 4 5 5 6 extern int strncmp(const char *s1, const char *s2, __SIZE_TYPE__ n);
src/kernel/libsyscall/wrappers/elfcalls.h src/kernel/libsyscall/wrappers/elfcalls_setup.h