Re: [PATCH 3/9] perf util: Get rid of write_or_die() from trace-event-info.c

From: Namhyung Kim
Date: Tue Mar 19 2013 - 20:57:44 EST


On Tue, 19 Mar 2013 16:04:03 +0100, Peter Zijlstra wrote:
> On Tue, 2013-03-19 at 10:59 -0400, Steven Rostedt wrote:
>> On Tue, 2013-03-19 at 15:49 +0100, Peter Zijlstra wrote:
>> > On Tue, 2013-03-19 at 10:35 -0400, Steven Rostedt wrote:
>> > > What about:
>> > > int err = 0;
>> > >
>> > > err += tracing_data_header();
>> > > err += read_header_files();
>> > > [...]
>> > >
>> > > if (err < 0) {
>> > > free(tdata);
>> > > tdata = NULL;
>> > > }
>> > >
>> > > Also, is the only clean up needed be freeing tdata?
>> >
>> > I always use err |= foo() and if (err) but I suppose it doesn't matter
>> > the original error codes are lost both ways which doesn't seem to be a
>> > problem here.
>>
>> err |= foo() is fine too. Both are better that err1, err2, err3, ...,
>> errN :-)
>
> <whinge>
>
> The += thing has a problem where functions can return both positive and
> negative values, you could get an accidental 0 (success) but coupled
> with the proposed <0 test you get a much larger accident space :-)
>
> And while totally hideous the err1..errN case preserves the actual
> return codes if one would actually need those.
>
> </whinge>
>
> /me crawls back under his rock noaw :-)

Sorry for the ugliness, forgot to update the code before sending ;-)

So I'll convert them to err |= foo() style as I don't care about the
actual return value at this time.

Thanks,
Namhyung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/