mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Taeung Song <treeze.taeung@gmail.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: linux-kernel@vger.kernel.org, Jiri Olsa <jolsa@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Taeung Song <treeze.taeung@gmail.com>
Subject: [PATCH 7/7] perf config: No free config set when it's initialization failed
Date: Wed, 26 Apr 2017 21:21:08 +0900	[thread overview]
Message-ID: <1493209268-5543-8-git-send-email-treeze.taeung@gmail.com> (raw)
In-Reply-To: <1493209268-5543-1-git-send-email-treeze.taeung@gmail.com>

Currently if perf_config_set__init() failed in perf_config_set__new(),
config_set will be freed.

However, if we do, config setting feature can't work sometimes
when  user or system config files are nonexistent.
So let the config set be empty, not freed totally.
(it'll be freed at the tail end)

Before:

  $ cat ~/.perfconfig
  cat: /root/.perfconfig: No such file or directory

  $ perf config --user report.children=false
  Nothing configured, please check your /root/.perfconfig

After:

  $ cat ~/.perfconfig
  cat: /root/.perfconfig: No such file or directory

  $ perf config --user report.children=false

  $ cat ~/.perfconfig
  # this file is auto-generated.
  [report]
	  children = false

Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
---
 tools/perf/util/config.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/tools/perf/util/config.c b/tools/perf/util/config.c
index 492c862..3c89d74 100644
--- a/tools/perf/util/config.c
+++ b/tools/perf/util/config.c
@@ -691,10 +691,7 @@ struct perf_config_set *perf_config_set__new(void)
 
 	if (set) {
 		INIT_LIST_HEAD(&set->sections);
-		if (perf_config_set__init(set) < 0) {
-			perf_config_set__delete(set);
-			set = NULL;
-		}
+		perf_config_set__init(set);
 	}
 
 	return set;
-- 
2.7.4

      parent reply	other threads:[~2017-04-26 12:23 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-26 12:21 [PATCH 0/7] perf config: Bugfixes & Refactoring Taeung Song
2017-04-26 12:21 ` [PATCH 1/7] perf config: Refactor a duplicated code for config file name Taeung Song
2017-05-03 17:38   ` [tip:perf/urgent] perf config: Refactor a duplicated code for obtaining " tip-bot for Taeung Song
2017-04-26 12:21 ` [PATCH 2/7] perf config: Check list empty before showing configs Taeung Song
2017-05-02 15:12   ` Arnaldo Carvalho de Melo
2017-05-03  4:05     ` Taeung Song
2017-04-26 12:21 ` [PATCH 3/7] perf config: Use none_err for all cases that nothing configured Taeung Song
2017-04-26 12:21 ` [PATCH 4/7] perf config: Invert if statements to reduce nesting in cmd_config() Taeung Song
2017-04-26 12:21 ` [PATCH 5/7] perf config: Correctly check whether it is from system config Taeung Song
2017-04-26 12:21 ` [PATCH 6/7] perf config: Finally write changed configs on config file at a time Taeung Song
2017-04-26 12:21 ` Taeung Song [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1493209268-5543-8-git-send-email-treeze.taeung@gmail.com \
    --to=treeze.taeung@gmail.com \
    --cc=acme@kernel.org \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=namhyung@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®