aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Xu <davidxu@FreeBSD.org>2006-02-06 09:41:56 +0000
committerDavid Xu <davidxu@FreeBSD.org>2006-02-06 09:41:56 +0000
commitea8e65b0fa0bad9ab12b125005481d4cb2a50c0d (patch)
treee5137d3e6eecc73f4d8706c0a147621589e53a61
parent11d5abebd21353e9e281e51d9ea8e063df0f7339 (diff)
downloadsrc-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.c2
-rw-r--r--sys/sys/ptrace.h4
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