summaryrefslogtreecommitdiffstats
path: root/tapset/signal.stp
diff options
context:
space:
mode:
authorzhaolei <zhaolei>2007-09-19 01:35:53 +0000
committerzhaolei <zhaolei>2007-09-19 01:35:53 +0000
commitcea22c2f6364da0ecb9ca5dd749cf685d7d7a701 (patch)
treecbb3a2ada894169442a9046ff4a8415369a78e45 /tapset/signal.stp
parent32618bca0c2bf00659f3a4e1a475eadb4a44583d (diff)
downloadsystemtap-steved-cea22c2f6364da0ecb9ca5dd749cf685d7d7a701.tar.gz
systemtap-steved-cea22c2f6364da0ecb9ca5dd749cf685d7d7a701.tar.xz
systemtap-steved-cea22c2f6364da0ecb9ca5dd749cf685d7d7a701.zip
2007-09-19 Zhaolei <zhaolei@cn.fujitsu.com>
From Lai Jiangshan <laijs@cn.fujitsu.com> * signal.stp(signal.force_segv) Add a part(force_sigsegv_info) for signal.force_segv.
Diffstat (limited to 'tapset/signal.stp')
-rw-r--r--tapset/signal.stp18
1 files changed, 16 insertions, 2 deletions
diff --git a/tapset/signal.stp b/tapset/signal.stp
index c2f90227..e1171c5a 100644
--- a/tapset/signal.stp
+++ b/tapset/signal.stp
@@ -254,7 +254,11 @@ probe signal.handle_stop = kernel.function("handle_stop_signal")
* 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)
@@ -262,7 +266,17 @@ probe signal.force_segv = kernel.function("force_sigsegv")
sig_name = _signal_name($sig)
}
-probe signal.force_segv.return = kernel.function("force_sigsegv").return
+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,
+ kernel.function("force_sigsegv_info").return ?
{
name = "force_sigsegv"
retstr = returnstr(1)