diff options
Diffstat (limited to 'tapset/signal.stp')
-rw-r--r-- | tapset/signal.stp | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/tapset/signal.stp b/tapset/signal.stp index 72ba9520..4fec7c13 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) } |