diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2013-05-28 20:27:10 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2013-05-28 21:49:16 +0000 |
commit | e8ff4c6f863c16180dacff74988f0e617f8136d9 (patch) | |
tree | 3f4627b380ad6987be8c71183e1f9ed1bbfe7223 | |
parent | 5c0796f3462b1cf6ef9ed114e255763791d66b78 (diff) | |
download | strace-e8ff4c6f863c16180dacff74988f0e617f8136d9.tar.gz strace-e8ff4c6f863c16180dacff74988f0e617f8136d9.tar.bz2 strace-e8ff4c6f863c16180dacff74988f0e617f8136d9.tar.xz |
Do not suppress signal delivery messages with -qq
Current implementation of -qq does not allow suppressing exit status
messages without suppressing signal delivery messages, which is not
good. There is a traditional "-e signal=none" syntax that can be used
to suppress all signal delivery messages.
This partially reverts commit v4.7-222-g01997cf.
* strace.c (trace): Do not suppress signal delivery messages with -qq.
* strace.1: Update documentation about -qq option.
-rw-r--r-- | strace.1 | 3 | ||||
-rw-r--r-- | strace.c | 29 |
2 files changed, 15 insertions, 17 deletions
@@ -268,8 +268,7 @@ automatically when output is redirected to a file and the command is run directly instead of attaching. .TP .B \-qq -If given twice, suppress messages about process exit status and -signals received. +If given twice, suppress messages about process exit status. .TP .B \-r Print a relative timestamp upon entry to each system call. This @@ -2216,8 +2216,9 @@ trace(void) show_stopsig: #endif if (cflag != CFLAG_ONLY_STATS - && (qual_flags[sig] & QUAL_SIGNAL) - ) { + && !hide_log_until_execve + && (qual_flags[sig] & QUAL_SIGNAL) + ) { #if defined(PT_CR_IPSR) && defined(PT_CR_IIP) long pc = 0; long psr = 0; @@ -2233,19 +2234,17 @@ trace(void) # define PC_FORMAT_STR "" # define PC_FORMAT_ARG /* nothing */ #endif - if (qflag < 2 && !hide_log_until_execve) { - printleader(tcp); - if (!stopped) { - tprintf("--- %s ", signame(sig)); - printsiginfo(&si, verbose(tcp)); - tprintf(PC_FORMAT_STR " ---\n" - PC_FORMAT_ARG); - } else - tprintf("--- stopped by %s" PC_FORMAT_STR " ---\n", - signame(sig) - PC_FORMAT_ARG); - line_ended(); - } + printleader(tcp); + if (!stopped) { + tprintf("--- %s ", signame(sig)); + printsiginfo(&si, verbose(tcp)); + tprintf(PC_FORMAT_STR " ---\n" + PC_FORMAT_ARG); + } else + tprintf("--- stopped by %s" PC_FORMAT_STR " ---\n", + signame(sig) + PC_FORMAT_ARG); + line_ended(); } if (!stopped) |