diff options
-rw-r--r-- | tapset/ChangeLog | 5 | ||||
-rw-r--r-- | tapset/syscalls.stp | 11 |
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" |