]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
In kern_sigtimedwait(), move initialization code out of process lock,
authordavidxu <davidxu@FreeBSD.org>
Thu, 14 Oct 2010 08:01:33 +0000 (08:01 +0000)
committerdavidxu <davidxu@FreeBSD.org>
Thu, 14 Oct 2010 08:01:33 +0000 (08:01 +0000)
commitae4fb003c853758956ba9c3555306c0e09b4fa72
tree393aac53c885e27ff52dd13422600c1589a6fcd0
parent2eebff905234b1901f80825d9dd8fa49fd130c3e
In kern_sigtimedwait(), move initialization code out of process lock,
instead of using SIGISMEMBER to test every interesting signal, just
unmask the signal set and let cursig() return one, get the signal
after it returns, call reschedule_signal() after signals are blocked
again.

In kern_sigprocmask(), don't call reschedule_signal() when it is
unnecessary.

In reschedule_signal(), replace SIGISEMPTY() + SIGISMEMBER() with
sig_ffs(), rename variable 'i' to sig.
sys/kern/kern_sig.c