lkml.org 
[lkml]   [2015]   [Sep]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Date
SubjectRe: [PATCH 4/5] perf tools: Propagate error info from tp_format
2015-09-14 17:36 GMT-04:00 Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>:
> Em Mon, Sep 14, 2015 at 04:59:41PM -0400, Raphaël Beamonte escreveu:
>> 2015-09-14 16:53 GMT-04:00 Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>:
>> > +++ b/tools/perf/util/evsel.c
>> > @@ -234,7 +234,9 @@ struct perf_evsel *perf_evsel__newtp_idx(const char *sys, const char *name, int
>> > struct perf_evsel *evsel = zalloc(perf_evsel__object.size);
>> > int err = -ENOMEM;
>> >
>> > - if (evsel != NULL) {
>> > + if (evsel == NULL) {
>> > + goto out_err;
>> > + } else {
>>
>> Is the else really necessary after a goto?
>
> Not really, we can remove it and all would be equivalent (the code
> with/without should be the same), its just that I wanted to avoid
> touching the identation to reduce patch size and since we need o open a
> brace to declare that attr variable...
>
> - Arnaldo

Ok. Though, given the content of that function, we could probably
declare attr in the first lines of the function and assign it its
value after the if. But I understand the patch size argument! :o)
On another subject, but on the same lines, shouldn't we use if
(!evsel) instead of if (evsel == NULL)? (kernel code style if I'm not
mistaken) Or is there something that prevents from using it here?

>> > struct perf_event_attr attr = {
>> > .type = PERF_TYPE_TRACEPOINT,
>> > .sample_type = (PERF_SAMPLE_RAW | PERF_SAMPLE_TIME |
>> > @@ -261,6 +263,7 @@ struct perf_evsel *perf_evsel__newtp_idx(const char *sys, const char *name, int
>> > out_free:
>> > zfree(&evsel->name);
>> > free(evsel);
>> > +out_err:
>> > return ERR_PTR(err);
>> > }
>> >
>> > diff --git a/tools/perf/util/trace-event.c b/tools/perf/util/trace-event.c
>> > index 8e3a60e3e15f..802bb868d446 100644
>> > --- a/tools/perf/util/trace-event.c
>> > +++ b/tools/perf/util/trace-event.c
>> > @@ -100,7 +100,7 @@ struct event_format*
>> > trace_event__tp_format(const char *sys, const char *name)
>> > {
>> > if (!tevent_initialized && trace_event__init2())
>> > - return NULL;
>> > + return ERR_PTR(-ENOMEM);
>> >
>> > return tp_format(sys, name);
>> > }


\
 
 \ /
  Last update: 2015-09-15 00:21    [W:0.186 / U:0.372 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site