cvs commit: src/sys/compat/linux linux_misc.c

Robert Watson rwatson at FreeBSD.org
Fri Aug 18 17:47:14 UTC 2006


On Thu, 17 Aug 2006, Alexander Leidinger wrote:

>  - protect td->td_proc->p_pid with the proc lock in linux_getpid
>    in the amd64 (= non i386) case [1]

Is this necessary?  In principle, td->td_proc is static for a live thread 
bound to a process (i.e., in a system call, which the current thread 
presumable is, as long as td == curthread), p_pid is static for a live process 
that isn't exiting (so in a system call is not generally exiting).  The native 
FreeBSD getpid() only acquires the process lock when following p_pptr, since 
this can change during a system call (i.e., as a result of the parent dying, 
and the child being re-parented to init(8)).

Robert N M Watson
Computer Laboratory
University of Cambridge


More information about the cvs-src mailing list