improved SI_TIMER decoding
Mike Frysinger
vapier at gentoo.org
Tue Mar 11 00:37:42 UTC 2014
On Mon 10 Mar 2014 17:08:11 enh wrote:
> On Mon, Mar 10, 2014 at 4:52 PM, Mike Frysinger <vapier at gentoo.org> wrote:
> > On Thu 06 Mar 2014 18:20:50 enh wrote:
> >> #ifdef SI_FROMUSER
> >> if (SI_FROMUSER(sip)) {
> >> - tprintf(", si_pid=%lu, si_uid=%lu",
> >> - (unsigned long) sip->si_pid,
> >> - (unsigned long) sip->si_uid);
> >> switch (sip->si_code) {
> >> #ifdef SI_USER
> >> case SI_USER:
> >> + tprintf(", si_pid=%lu, si_uid=%lu",
> >> + (unsigned long) sip->si_pid,
> >> + (unsigned long) sip->si_uid);
> >> break;
> >> #endif
> >> #ifdef SI_TKILL
> >> case SI_TKILL:
> >> + tprintf(", si_pid=%lu, si_uid=%lu",
> >> + (unsigned long) sip->si_pid,
> >> + (unsigned long) sip->si_uid);
> >> break;
> >> #endif
> >
> > well, now the output handling for source signals has been duplicated 3
> > times. that doesn't seem like an improvement. why not split the logic
> > for decoding of the source and decoding of the value so there's no
> > duplication ?
>
> because i don't think they're correct (except SI_TKILL). i think all
> of these need to be revisited. see siginfo.h. i only fixed SI_TIMER
> because that's the one i spent the week looking at, so that's the one
> i can guarantee was wrong and is now right.
i don't follow your logic. why should we merge duplicate tprintf calls now
when it's trivial to split & not duplicate ?
/* Decode source details when it makes sense. */
switch (sip->si_code) {
... cases that decode pid/uid ...
... other source details ...
}
/* Decode sigval_t when it makes sense. */
switch (sip->si_code) {
... only list cases where this field is valid ...
}
although it looks like the patch has already been merged (with the style issue
fixed), so now it's a matter of cleaning up the new code.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20140310/c4743ca4/attachment.bin>
More information about the Strace-devel
mailing list