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.
This commit is contained in:
Дмитрий Левин 2013-05-28 20:27:10 +00:00
parent 5c0796f346
commit e8ff4c6f86
2 changed files with 15 additions and 17 deletions

View File

@ -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

View File

@ -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)