This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[patch] add function for signal.force_segv
- From: Lai Jiangshan <laijs at cn dot fujitsu dot com>
- To: systemtap at sourceware dot org
- Date: Fri, 14 Sep 2007 11:43:10 +0900
- Subject: [patch] add function for signal.force_segv
Hi, all
Kernel function force_sigsegv_info also forces SIGSEGV sent to
a process. So I think it is better if signal.force_segv includes
this function.
diff -Nur /usr/share/systemtap/tapset/signal.stp tapset/signal.stp
--- /usr/share/systemtap/tapset/signal.stp 2007-09-10 09:18:19.000000000 +0900
+++ tapset/signal.stp 2007-09-14 11:30:03.000000000 +0900
@@ -254,15 +254,28 @@
* Forces SIGSEGV when there are some issues while handling signals for the process.
*
*/
-probe signal.force_segv = kernel.function("force_sigsegv")
+probe signal.force_segv = _signal.force_segv.*
+{
+}
+
+probe _signal.force_segv.part1 = kernel.function("force_sigsegv")
{
sig_pid = $p->pid
pid_name = kernel_string($p->comm)
sig = $sig
sig_name = _signal_name($sig)
}
+probe _signal.force_segv.part2 = kernel.function("force_sigsegv_info") ?
+{
+ sig_pid = pid()
+ pid_name = execname()
+ sig = $sig
+ sig_name = _signal_name($sig)
+}
-probe signal.force_segv.return = kernel.function("force_sigsegv").return
+probe signal.force_segv.return =
+ kernel.function("force_sigsegv").return,
+ kernel.function("force_sigsegv_info").return ?
{
name = "force_sigsegv"
retstr = returnstr(1)