summaryrefslogtreecommitdiffstats
path: root/tapset
diff options
context:
space:
mode:
authorwenji <wjhuang@dhcp-beijing-cdc-10-182-120-233.cn.oracle.com>2008-05-26 02:59:33 -0400
committerwenji <wjhuang@dhcp-beijing-cdc-10-182-120-233.cn.oracle.com>2008-05-26 02:59:33 -0400
commit63aa9fb121d0eedc30d9b9a0cb0b91da96b551d8 (patch)
treed484771b8d7318767681f0c0dcbbcb24a58d3dc9 /tapset
parent0b2713c674778363ba5b400c013ff04be520303e (diff)
downloadsystemtap-steved-63aa9fb121d0eedc30d9b9a0cb0b91da96b551d8.tar.gz
systemtap-steved-63aa9fb121d0eedc30d9b9a0cb0b91da96b551d8.tar.xz
systemtap-steved-63aa9fb121d0eedc30d9b9a0cb0b91da96b551d8.zip
Correct signal.stp for 2.6.26
Diffstat (limited to 'tapset')
-rw-r--r--tapset/ChangeLog5
-rw-r--r--tapset/signal.stp22
2 files changed, 22 insertions, 5 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog
index 7514ba25..2931e23b 100644
--- a/tapset/ChangeLog
+++ b/tapset/ChangeLog
@@ -1,3 +1,8 @@
+
+2008-05-26 Wenji Huang <wenji.huang@oracle.com>
+
+ * signal.stp (send.*): Correct for 2.6.26.
+
2008-05-23 Frank Ch. Eigler <fche@elastic.org>
* nfs.stp (*): Similarly convert kernel?,module? -> kernel!,module.
diff --git a/tapset/signal.stp b/tapset/signal.stp
index 72ba9520..7afa1024 100644
--- a/tapset/signal.stp
+++ b/tapset/signal.stp
@@ -37,8 +37,7 @@
*/
probe signal.send = _signal.send.*
{
- sig=$sig
- sig_name = _signal_name($sig)
+ sig_name = _signal_name(sig)
sig_pid = task_pid(task)
pid_name = task_execname(task)
@@ -53,25 +52,35 @@ probe signal.send = _signal.send.*
probe _signal.send.part1 = kernel.function("__group_send_sig_info")
{
name = "__group_send_sig_info"
+ sig=$sig
task = $p
sinfo = $info
shared = 1
send2queue = 0
}
+%( kernel_v <= "2.6.25" %?
probe _signal.send.part2 = kernel.function("send_group_sigqueue")
{
name = "send_group_sigqueue"
+ sig=$sig
task = $p
sinfo = 0 # $q->info
shared = 1
send2queue = 1
}
+%)
probe _signal.send.part3 = kernel.function("send_sigqueue")
{
name = "send_sigqueue"
+%( kernel_v >= "2.6.25" %?
+ task = $t
+ sig=$q->info->si_signo
+%:
task = $p
+ sig=$sig
+%)
sinfo = 0 # $q->info
shared = 0
send2queue = 1
@@ -80,6 +89,7 @@ probe _signal.send.part3 = kernel.function("send_sigqueue")
probe _signal.send.part4 = kernel.function("specific_send_sig_info")
{
name = "specific_send_sig_info"
+ sig=$sig
task = $t
sinfo = $info
shared = 0
@@ -121,6 +131,7 @@ probe _signal.send.part4.return = kernel.function("specific_send_sig_info").retu
send2queue = 0
}
+%( kernel_v <= "2.6.25" %?
/*
* - return 0 if the signal is either sucessfully added into the
* sigqueue of receiving process or a SI_TIMER entry is already
@@ -135,6 +146,7 @@ probe _signal.send.part2.return = kernel.function("send_group_sigqueue").return
shared = 1
send2queue = 1
}
+%)
/*
* - return 0 if the signal is either sucessfully added into the
@@ -224,7 +236,7 @@ probe signal.check_ignored = kernel.function("sig_ignored")
sig_name = _signal_name($sig)
}
-probe signal.check_ignored.return = kernel.function("sig_ignored").return
+probe signal.check_ignored.return = kernel.function("sig_ignored").return ?
{
name = "sig_ignored"
retstr = returnstr(1)
@@ -336,7 +348,7 @@ probe signal.systkill.return = syscall.tkill.return
*/
probe signal.send_sig_queue =
kernel.function("send_sigqueue"),
- kernel.function("send_group_sigqueue")
+ kernel.function("send_group_sigqueue") ?
{
sig = $sig
sig_name = _signal_name($sig)
@@ -347,7 +359,7 @@ probe signal.send_sig_queue =
probe signal.send_sig_queue.return =
kernel.function("send_sigqueue").return,
- kernel.function("send_group_sigqueue").return
+ kernel.function("send_group_sigqueue").return ?
{
retstr = returnstr(1)
}