Re: FYI: copy/paste error in sol-thread.c ?

Joel Brobecker
2013-05-07T12:25:45Z

> I agree it looks like a copy/paste.

Ok, the first patch of this series fixes the code.

> Very very very minor, but the prints look a little odd to me:
>
> > printf_filtered (" startfunc: %s\n",
> > printf_filtered (" - Sleep func: %s\n"
>
> The first is lowercase, and doesn't start with '-', while the
> other line is uppercase, and has a '-'... Looks odd.
> It reads to me as if the original intention was to put this all
> in the same line, but then the startfunc print includes \n,
> breaking it...

You are right. This is a copy of the current output:

| (gdb) maintenance info sol-threads
| user thread #1, lwp 1, (active)
| system thread #2, lwp 2, (active)
| system thread #3, lwp 0, (asleep) - Sleep func: 0xff32d9e0
| user thread #4, lwp 4, (asleep) startfunc: system.tasking.stages.task_wrapper
| - Sleep func: 0xff3290f0
| system thread #5, lwp 7, (active) startfunc: _co_timerset

Besides the lowercase/uppercase thing, two things are odd:
- the '-' for thread #3
- the fact that "sleep func" gets printed on the next line
for thread #4, with an indentation that makes it hard to read
the info.

It seems to me also that the initial intention was probably to have
everything on the same line, and that seems fine to me, as this is
only a maintenance command. So patch #2 makes a number of adjustments
to the formatting of the output. In particular, for simplicity,
I just got rid of the '-' altogether, and to compensate for the
slight reduction in visual separation, I grouped the label and
the value a little more tightly.

And to boot, I wasn't very fond of the fact that the code printing
the info was duplicated, so I factorized it a bit. This is also
potentially a matter of taste - so I did not commit any of the patches
yet.

Tested on sparc-solaris by running the "maintenance info sol-threads"
command by hand. That's probably as much time as I am willing to
spend on this, and I think that's going to be sufficient anyway.