diff options
author | hunt <hunt> | 2007-08-23 13:05:49 +0000 |
---|---|---|
committer | hunt <hunt> | 2007-08-23 13:05:49 +0000 |
commit | 9f2b0838826bf99b2f9a3e2c1b0b323021ebfdfe (patch) | |
tree | f427e23d823d349c46080cc57b44d8e8be88a1f2 | |
parent | fdbfa748f504c68c94e8e1101b57e71d53f9275e (diff) | |
download | systemtap-steved-9f2b0838826bf99b2f9a3e2c1b0b323021ebfdfe.tar.gz systemtap-steved-9f2b0838826bf99b2f9a3e2c1b0b323021ebfdfe.tar.xz systemtap-steved-9f2b0838826bf99b2f9a3e2c1b0b323021ebfdfe.zip |
2007-08-23 Martin Hunt <hunt@redhat.com>
From Cai Fei <caifei@cn.fujitsu.com>
* aux_syscalls.stp (_waitid_opt_str): New.
(_wait4_opt_str): Just handle wait4 options.
* syscalls2.stp (sys_waitid): Use _waitid_opt_str.
-rw-r--r-- | tapset/ChangeLog | 6 | ||||
-rw-r--r-- | tapset/aux_syscalls.stp | 8 | ||||
-rw-r--r-- | tapset/syscalls2.stp | 13 |
3 files changed, 21 insertions, 6 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog index 9ee91cd0..df98fc12 100644 --- a/tapset/ChangeLog +++ b/tapset/ChangeLog @@ -1,3 +1,9 @@ +2007-08-23 Martin Hunt <hunt@redhat.com> + From Cai Fei <caifei@cn.fujitsu.com> + * aux_syscalls.stp (_waitid_opt_str): New. + (_wait4_opt_str): Just handle wait4 options. + * syscalls2.stp (sys_waitid): Use _waitid_opt_str. + 2007-08-23 Wenji Huang <wenji.huang@oracle.com> * rpc.stp (sunrpc.svc.process, sunrpc.svc.recv): Modify evaluating diff --git a/tapset/aux_syscalls.stp b/tapset/aux_syscalls.stp index 3fb65c1c..3e31ffbc 100644 --- a/tapset/aux_syscalls.stp +++ b/tapset/aux_syscalls.stp @@ -1085,6 +1085,14 @@ function _msync_flag_str(f) { /* `man wait4` for more information */ function _wait4_opt_str(f) { + if(f & 8) bs="WCONTINUED|".bs + if(f & 2) bs="WUNTRACED|".bs + if(f & 1) bs="WNOHANG|".bs + return substr(bs,0,strlen(bs)-1) +} + +/* `man waitid` for more information */ +function _waitid_opt_str(f) { if(f & 0x01000000) bs="WNOWAIT|".bs if(f & 8) bs="WCONTINUED|".bs if(f & 4) bs="WEXITED|".bs diff --git a/tapset/syscalls2.stp b/tapset/syscalls2.stp index be33be58..0c83b271 100644 --- a/tapset/syscalls2.stp +++ b/tapset/syscalls2.stp @@ -3009,10 +3009,10 @@ probe syscall.waitid = kernel.function("sys_waitid") { pid = $pid infop_uaddr = $infop options = $options - options_str = _wait4_opt_str($options) + options_str = _waitid_opt_str($options) rusage_uaddr = $ru argstr = sprintf("%d, %d, %p, %s, %p", $which, $pid, - $infop, _wait4_opt_str($options), $ru) + $infop, _waitid_opt_str($options), $ru) } probe syscall.waitid.return = kernel.function("sys_waitid").return { name = "waitid" @@ -3021,8 +3021,7 @@ probe syscall.waitid.return = kernel.function("sys_waitid").return { /* FIXME: # waitpid ____________________________________________________ # -# asmlinkage long -# sys_wait4(pid_t pid, +# long sys_wait4(pid_t pid, # int __user *stat_addr, # int options, # struct rusage __user *ru) @@ -3034,14 +3033,15 @@ probe syscall.waitpid = kernel.function("sys_wait4") { options = $options options_str = _wait4_opt_str($options) rusage_uaddr = $ru - argstr = sprintf("%d, %p, %s, %p", $pid, status_uaddr, - options_str, rusage_uaddr) + argstr = sprintf("%d, %p, %s, %p", $pid, $stat_addr, + options_str, $ru) } probe syscall.waitpid.return = kernel.function("sys_wait4").return { name = "waitpid" retstr = returnstr(1) } */ + # write ______________________________________________________ # # ssize_t sys_write(unsigned int fd, @@ -3059,6 +3059,7 @@ probe syscall.write.return = kernel.function("sys_write").return { name = "write" retstr = returnstr(1) } + # writev _____________________________________________________ # # ssize_t sys_writev(unsigned long fd, |