summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tapset/ChangeLog5
-rw-r--r--tapset/syscalls.stp11
2 files changed, 15 insertions, 1 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog
index fea10aec..bfc8702d 100644
--- a/tapset/ChangeLog
+++ b/tapset/ChangeLog
@@ -1,5 +1,10 @@
2007-09-19 Zhaolei <zhaolei@cn.fujitsu.com>
+ * syscall.stp(getrusage) Fix the output of getrusage's argstr
+ when who is set to -2.
+
+2007-09-19 Zhaolei <zhaolei@cn.fujitsu.com>
+
From Lai Jiangshan <laijs@cn.fujitsu.com>
* ia64/syscalls.stp Add a probe point syscall.sigaltstack for
ia64.
diff --git a/tapset/syscalls.stp b/tapset/syscalls.stp
index e27bd093..cc835f70 100644
--- a/tapset/syscalls.stp
+++ b/tapset/syscalls.stp
@@ -1469,8 +1469,17 @@ probe syscall.getrlimit.return = kernel.function("sys_getrlimit").return,
probe syscall.getrusage = kernel.function("sys_getrusage") {
name = "getrusage"
who = $who
+ if($who==-2)
+ {
+ # RUSAGE_BOTH is not valid argument for sys_getrusage
+ who_str = sprintf("UNKNOWN VALUE: %d", $who)
+ }
+ else
+ {
+ who_str = _rusage_who_str($who)
+ }
usage_uaddr = $ru
- argstr = sprintf("%s, %p",_rusage_who_str($who), usage_uaddr)
+ argstr = sprintf("%s, %p", who_str, usage_uaddr)
}
probe syscall.getrusage.return = kernel.function("sys_getrusage").return {
name = "getrusage"