diff options
author | leedagee <leedageea@gmail.com> | 2023-04-29 08:00:00 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@strace.io> | 2023-04-29 08:00:00 +0000 |
commit | 50111982e27976c3dfa3e3411281b88d778f49d5 (patch) | |
tree | ec5898c380412863c830c674861531407bf327e1 /tests/gen_tests.in | |
parent | 551870dc5cc2421bd960bb42fb25d5027af67efc (diff) | |
download | strace-50111982e27976c3dfa3e3411281b88d778f49d5.tar.gz |
Implement decoding of signal masks associated with signalfd file descriptors
When signalfds are used, normal signal handling method is usually
disabled, leaving strace without signals to catch and decode.
This patch adds decoding of signal masks associated with signalfd file
descriptors.
Decoding the signalfd_siginfo struct requires additional work mentioned
in github#199.
Signed-off-by: leedagee <leedageea@gmail.com>
* NEWS: Mention this change.
* doc/strace.1.in: Document --decode-fds=signalfd.
* src/strace.c (usage): Likewise.
* src/number_set.h (enum decode_fd_bits): Add DECODE_FD_SIGNALFD.
* src/filter_qualify.c (decode_fd_str_to_uint): Handle signalfd.
* src/util.c (print_fdinfo_sigmask, printsignalfd): New functions.
(printfd_pid_with_finfo): Use printsignalfd when DECODE_FD_SIGNALFD
is set in decode_fd_set.
* tests/signalfd4.c [PRINT_SIGNALFD]: Check decoding of signal masks
associated with signalfd file descriptors.
* tests/signalfd4-yy.c: New file.
* tests/pure_executables.list: Add signalfd4-yy.
* tests/.gitignore: Likewise.
* tests/gen_tests.in (signalfd4): Add -a32.
(signalfd4-yy): New test.
Co-authored-by: Dmitry V. Levin <ldv@strace.io>
Diffstat (limited to 'tests/gen_tests.in')
-rw-r--r-- | tests/gen_tests.in | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tests/gen_tests.in b/tests/gen_tests.in index 1316ad6e8..f19963b06 100644 --- a/tests/gen_tests.in +++ b/tests/gen_tests.in @@ -960,7 +960,8 @@ siginfo -e trace=none signal -a25 -e signal=none -e trace='/^signal$' signal_receive -a16 -e trace=kill signal_receive--pidns-translation test_pidns -a16 -e trace=kill -signalfd4 +signalfd4 -a32 +signalfd4-yy --trace=signalfd4 -yy sigpending -a15 sigprocmask -a34 sigreturn -esignal='!USR1' |