Enhance decoding of kernel-generated signals

* signal.c (printsiginfo) [LINUX]: Do not print uninteresting
zero-initialized fields.
This commit is contained in:
Дмитрий Левин 2011-03-10 23:14:47 +00:00
parent 6d9e8e82f8
commit b41e1c90f0

View File

@ -738,6 +738,8 @@ printsiginfo(siginfo_t *sip, int verbose)
#endif
#ifdef LINUX
default:
if (!sip->si_ptr)
break;
if (!verbose)
tprintf(", ...");
else
@ -783,13 +785,16 @@ printsiginfo(siginfo_t *sip, int verbose)
break;
#ifdef LINUX
default:
tprintf(", si_pid=%lu, si_uid=%lu, ",
(unsigned long) sip->si_pid,
(unsigned long) sip->si_uid);
if (sip->si_pid || sip->si_uid)
tprintf(", si_pid=%lu, si_uid=%lu",
(unsigned long) sip->si_pid,
(unsigned long) sip->si_uid);
if (!sip->si_ptr)
break;
if (!verbose)
tprintf("...");
tprintf(", ...");
else {
tprintf("si_value={int=%u, ptr=%#lx}",
tprintf(", si_value={int=%u, ptr=%#lx}",
sip->si_int,
(unsigned long) sip->si_ptr);
}