b7432513dc
threads in a processes and kill them properly. The code is a bit too complicated, but I could not find a simplier way of dealing with it - Change getpid() and getppid() semantics to match what Linux does, and implement gettid(). In the Linux kernel, threads are implemnted as plain old processes. A thread group is just a set of processes, with the parent called leader. Thread ID, which are returned by gettid(), are just the PID of the plain old processes, and getpid() returns the PID of the thread group leader. - Remove struct linux32_emuldata. COMPAT_LINUX32 uses a lot of COMPAT_LINUX code, where a struct linux_emuldata is assumed. By having distinct emuldata structure with different sizes and layouts, we caused kernel memory corruptions. - Fix setprioriry() and getpriority() Thanks to Nicolas Joly for tracking down the problem and providing me the hardware to fix them. |
||
---|---|---|
.. | ||
arch/amd64 | ||
common | ||
files.linux32 | ||
linux32_syscall.h | ||
linux32_syscallargs.h | ||
linux32_syscalls.c | ||
Makefile.inc |