Subject: CVS commit: src/sys
To: None <source-changes@NetBSD.org>
From: Emmanuel Dreyfus <manu@netbsd.org>
List: source-changes
Date: 08/23/2006 19:49:10
Module Name: src
Committed By: manu
Date: Wed Aug 23 19:49:09 UTC 2006
Modified Files:
src/sys/compat/linux/arch/amd64: linux_machdep.c
src/sys/compat/linux/common: linux_emuldata.h linux_exec.c linux_exec.h
linux_machdep.h linux_sched.c
src/sys/compat/linux32/common: linux32_exec.c linux32_exec.h
src/sys/kern: kern_exit.c
Log Message:
1) Complete Linux exit_group() emulation
Members of the thread group must die without reporting to the parent and
without going to zombie stage. We do that by reparenting to init before
catching a SIGKILL. The parent will not see the child death.
The thread group leader must report the exit status, even if it exits
because of another thread calling exit_group(). We do that by storing the
exit status in struct linux_emuldata_shared, and the exit hook has the
duty of setting struct proc's p_xstat for the thread group leader.
2) For exit/fork/exec hooks, move the NPTL specific code to separate functions
that are shared between COMPAT_LINUX and COMPAT_LINUX32
3) Fix LINUX_CLONE_PARENT_SETTID semantics
To generate a diff of this commit:
cvs rdiff -r1.13 -r1.14 src/sys/compat/linux/arch/amd64/linux_machdep.c
cvs rdiff -r1.11 -r1.12 src/sys/compat/linux/common/linux_emuldata.h
cvs rdiff -r1.84 -r1.85 src/sys/compat/linux/common/linux_exec.c
cvs rdiff -r1.38 -r1.39 src/sys/compat/linux/common/linux_exec.h
cvs rdiff -r1.14 -r1.15 src/sys/compat/linux/common/linux_machdep.h
cvs rdiff -r1.33 -r1.34 src/sys/compat/linux/common/linux_sched.c
cvs rdiff -r1.2 -r1.3 src/sys/compat/linux32/common/linux32_exec.c \
src/sys/compat/linux32/common/linux32_exec.h
cvs rdiff -r1.157 -r1.158 src/sys/kern/kern_exit.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.