git: kernel - Add per-process token, adjust signal code to use i

看板DFBSD_commit作者時間15年前 (2011/02/12 07:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
commit 5686ec5a3d0bf6c0ae72cf58ad9b957b4ea71c1a Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Fri Feb 11 14:47:58 2011 -0800 kernel - Add per-process token, adjust signal code to use it. * Add proc->p_token and use it to interlock signal-related operations. * Remove the use of proc_token in various signal paths. Note that proc_token is still used in conjuction with pfind(). * Remove the use of proc_token in CURSIG*()/issignal() sequences, which also removes its use in the tsleep path and the syscall path. p->p_token is use instead. * Move the automatic interlock in the tsleep code to before the CURSIG code, fixing a rare race where a SIGCHLD could race against a parent process in sigsuspend(). Also acquire p->p_token here to interlock LWP_SINTR handling. Summary of changes: sys/kern/init_main.c | 1 + sys/kern/kern_checkpoint.c | 4 +- sys/kern/kern_exit.c | 3 +- sys/kern/kern_fork.c | 1 + sys/kern/kern_sig.c | 72 ++++++++++++++++++++++++----------------- sys/kern/kern_synch.c | 58 ++++++++++++++++++++------------- sys/kern/sys_process.c | 29 ++++++++++++++++- sys/sys/proc.h | 1 + sys/sys/signal2.h | 5 ++- sys/vfs/procfs/procfs_ctl.c | 2 + sys/vfs/procfs/procfs_subr.c | 4 ++ 11 files changed, 122 insertions(+), 58 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5686ec5a3d0bf6c0ae72cf58ad9b957b4ea71c1a -- DragonFly BSD source repository
文章代碼(AID): #1DLR-qBD (DFBSD_commit)
文章代碼(AID): #1DLR-qBD (DFBSD_commit)