diff options
author | David Xu <davidxu@FreeBSD.org> | 2006-02-06 09:41:56 +0000 |
---|---|---|
committer | David Xu <davidxu@FreeBSD.org> | 2006-02-06 09:41:56 +0000 |
commit | ea8e65b0fa0bad9ab12b125005481d4cb2a50c0d (patch) | |
tree | e5137d3e6eecc73f4d8706c0a147621589e53a61 | |
parent | 11d5abebd21353e9e281e51d9ea8e063df0f7339 (diff) | |
download | src-ea8e65b0fa0bad9ab12b125005481d4cb2a50c0d.tar.gz src-ea8e65b0fa0bad9ab12b125005481d4cb2a50c0d.zip |
Add members pl_sigmask and pl_siglist into ptrace_lwpinfo to get lwp's
signal mask and pending signals.
Notes
Notes:
svn path=/head/; revision=155381
-rw-r--r-- | sys/kern/sys_process.c | 2 | ||||
-rw-r--r-- | sys/sys/ptrace.h | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index 0b19ab1dbf68..c3be1f6015b3 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -985,6 +985,8 @@ kern_ptrace(struct thread *td, int req, pid_t pid, void *addr, int data) } else { pl->pl_flags = 0; } + pl->pl_sigmask = td2->td_sigmask; + pl->pl_siglist = td2->td_siglist; _PRELE(p); PROC_UNLOCK(p); return (0); diff --git a/sys/sys/ptrace.h b/sys/sys/ptrace.h index 93b1a7d6d0fc..8fd52cb4451e 100644 --- a/sys/sys/ptrace.h +++ b/sys/sys/ptrace.h @@ -33,6 +33,8 @@ #ifndef _SYS_PTRACE_H_ #define _SYS_PTRACE_H_ +#include <sys/_sigset.h> + #define PT_TRACE_ME 0 /* child declares it's being traced */ #define PT_READ_I 1 /* read word in child's I space */ #define PT_READ_D 2 /* read word in child's D space */ @@ -92,6 +94,8 @@ struct ptrace_lwpinfo { int pl_flags; /* LWP flags. */ #define PL_FLAG_SA 0x01 /* M:N thread */ #define PL_FLAG_BOUND 0x02 /* M:N bound thread */ + sigset_t pl_sigmask; /* LWP signal mask */ + sigset_t pl_siglist; /* LWP pending signal */ }; #ifdef _KERNEL |