diff options
author | hunt <hunt> | 2007-10-09 13:28:09 +0000 |
---|---|---|
committer | hunt <hunt> | 2007-10-09 13:28:09 +0000 |
commit | a6053c5b3f42ef0e016df9074ebc75c93a79d544 (patch) | |
tree | 8e8c4527ea7c820dc4f9f68ed0f6633e009af93c /tapset/aux_syscalls.stp | |
parent | 9e92a33ca35e29f34095f6c43cc712927307f87f (diff) | |
download | systemtap-steved-a6053c5b3f42ef0e016df9074ebc75c93a79d544.tar.gz systemtap-steved-a6053c5b3f42ef0e016df9074ebc75c93a79d544.tar.xz systemtap-steved-a6053c5b3f42ef0e016df9074ebc75c93a79d544.zip |
2007-10-09 Martin Hunt <hunt@redhat.com>
* syscalls2.stp (sys_signal): Call
_sighandler_str().
* aux_syscalls.stp (_stp_sigset_str): Don't
include SIG_0.
(_sighandler_str): New.
Diffstat (limited to 'tapset/aux_syscalls.stp')
-rw-r--r-- | tapset/aux_syscalls.stp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/tapset/aux_syscalls.stp b/tapset/aux_syscalls.stp index 3818ae75..aa3e078e 100644 --- a/tapset/aux_syscalls.stp +++ b/tapset/aux_syscalls.stp @@ -1587,7 +1587,7 @@ void _stp_sigset_str(sigset_t *mask, char *ptr, int len) const _stp_val_array * const array = _stp_signal_list; int i = 0, flag = 0; while (array[i].name) { - if (sigismember(mask, array[i].val)) { + if (array[i].val && sigismember(mask, array[i].val)) { if (flag) strlcat(ptr, "|", len); strlcat(ptr, array[i].name, len); @@ -1785,6 +1785,17 @@ function get_mmap_args:string (args:long) strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN); %} + +function _sighandler_str:string(uaddr:long) +%{ /* pure */ + static const _stp_val_array const _stp_sa_handler_list[] = { + {0, "SIG_DFL"}, + {1, "SIG_IGN"}, + {0, NULL} + }; + _stp_lookup_str(_stp_sa_handler_list, (long)THIS->uaddr, THIS->__retvalue, MAXSTRINGLEN); +%} + function _struct_sigaction_u:string(uaddr:long) %{ /* pure */ static const _stp_val_array const _stp_sa_handler_list[] = { |