cvs commit: src/sys/compat/linux linux_emul.c
Konstantin Belousov
kib at FreeBSD.org
Thu Feb 1 13:29:28 UTC 2007
kib 2007-02-01 13:29:27 UTC
FreeBSD src repository
Modified files:
sys/compat/linux linux_emul.c
Log:
No need to synchronize linux_schedtail with linux_proc_init.
p->p_emuldata is properly initialized in the time when the child can run.
Do not set p->p_emuldata to NULL when the process is exiting.
It does not make any sense and only costs 2 mutex operations.
Do not lock emul_data to unlock it on the very next line.
Comment on possible race while there.
Reparent all procs that are part of a threading group but not its leaders
to init and SIGCHLD init to finish the zombies off. This fixes zombies
left after opera's exit. [1]
There is no need to lock p_em in the linux_proc_init CLONE_THREAD
case because the process cannot change the address of the p_em->shared
because its currently running this code path.
Move assigning of em->shared outside emul_shared_lock.
Noticed by: Scott Robbins <scottro at nyc.rr.com> [1]
Submitted by: rdivacky
Revision Changes Path
1.14 +28 -26 src/sys/compat/linux/linux_emul.c
More information about the cvs-src
mailing list