Date: Sat, 19 Dec 2009 11:13:59 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/compat/freebsd32 freebsd32_misc.c src/sys/kern kern_sig.c src/sys/sys signalvar.h syscallsubr.h Message-ID: <200912191118.nBJBI4AK070052@repoman.freebsd.org>
index | next in thread | raw e-mail
kib 2009-12-19 11:13:59 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_8)
sys/compat/freebsd32 freebsd32_misc.c
sys/kern kern_sig.c
sys/sys signalvar.h syscallsubr.h
Log:
SVN rev 200721 on 2009-12-19 11:13:59Z by kib
MFC r198506:
In kern_sigsuspend(), manipulate thread signal mask using
kern_sigprocmask(). Also, do cursig/postsig loop immediately after
waiting for signal, repeating the wait if wakeup was spurious due to
race with other thread fetching signal from the process queue before us.
MFC r199136:
Use cpu_set_syscall_retval(9) to set syscall result, and return
EJUSTRETURN from kern_sigsuspend() to prevent syscall return code from
modifying wrong frame.
Take care of possibility that pending SIGCONT might be cancelled by
SIGSTOP, causing postsig() not to deliver any catched signal.
Revision Changes Path
1.93.2.3 +1 -12 src/sys/compat/freebsd32/freebsd32_misc.c
1.372.2.4 +32 -26 src/sys/kern/kern_sig.c
1.79.2.3 +7 -2 src/sys/sys/signalvar.h
1.57.2.3 +0 -2 src/sys/sys/syscallsubr.h
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912191118.nBJBI4AK070052>
