version 1.254, 2007/07/09 21:10:53 |
version 1.255, 2007/08/15 12:07:33 |
|
|
#include <sys/cdefs.h> |
#include <sys/cdefs.h> |
__KERNEL_RCSID(0, "$NetBSD$"); |
__KERNEL_RCSID(0, "$NetBSD$"); |
|
|
#include "opt_ktrace.h" |
|
#include "opt_ptrace.h" |
#include "opt_ptrace.h" |
#include "opt_multiprocessor.h" |
#include "opt_multiprocessor.h" |
#include "opt_compat_sunos.h" |
#include "opt_compat_sunos.h" |
Line 923 trapsignal(struct lwp *l, ksiginfo_t *ks |
|
Line 922 trapsignal(struct lwp *l, ksiginfo_t *ks |
|
p->p_stats->p_ru.ru_nsignals++; |
p->p_stats->p_ru.ru_nsignals++; |
kpsendsig(l, ksi, &l->l_sigmask); |
kpsendsig(l, ksi, &l->l_sigmask); |
mutex_exit(&p->p_smutex); |
mutex_exit(&p->p_smutex); |
#ifdef KTRACE |
ktrpsig(signo, SIGACTION_PS(ps, signo).sa_handler, |
if (KTRPOINT(p, KTR_PSIG)) |
&l->l_sigmask, ksi); |
ktrpsig(l, signo, SIGACTION_PS(ps, signo).sa_handler, |
|
&l->l_sigmask, ksi); |
|
#endif |
|
} else { |
} else { |
/* XXX for core dump/debugger */ |
/* XXX for core dump/debugger */ |
p->p_sigctx.ps_lwp = l->l_lid; |
p->p_sigctx.ps_lwp = l->l_lid; |
Line 1819 postsig(int signo) |
|
Line 1815 postsig(int signo) |
|
p->p_stats->p_ru.ru_nsignals++; |
p->p_stats->p_ru.ru_nsignals++; |
sigget(l->l_sigpendset, &ksi, signo, NULL); |
sigget(l->l_sigpendset, &ksi, signo, NULL); |
|
|
#ifdef KTRACE |
if (ktrpoint(KTR_PSIG)) { |
if (KTRPOINT(p, KTR_PSIG)) { |
|
mutex_exit(&p->p_smutex); |
mutex_exit(&p->p_smutex); |
ktrpsig(l, signo, action, returnmask, NULL); |
ktrpsig(signo, action, returnmask, NULL); |
mutex_enter(&p->p_smutex); |
mutex_enter(&p->p_smutex); |
} |
} |
#endif |
|
|
|
if (action == SIG_DFL) { |
if (action == SIG_DFL) { |
/* |
/* |