From: tip-bot for Masami Hiramatsu <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: acme@redhat.com, linux-kernel@vger.kernel.org, paulus@samba.org,
mingo@redhat.com, hpa@zytor.com, mingo@kernel.org,
a.p.zijlstra@chello.nl, naota@elisp.net, namhyung@kernel.org,
masami.hiramatsu.pt@hitachi.com, tglx@linutronix.de
Subject: [tip:perf/core] perf: Use strerror_r instead of strerror
Date: Mon, 18 Aug 2014 01:23:05 -0700 [thread overview]
Message-ID: <tip-b2348e1d8a67c58de44820587fabc4f987eafbb6@git.kernel.org> (raw)
In-Reply-To: <20140814022232.3545.14026.stgit@kbuild-fedora.novalocal>
Commit-ID: b2348e1d8a67c58de44820587fabc4f987eafbb6
Gitweb: http://git.kernel.org/tip/b2348e1d8a67c58de44820587fabc4f987eafbb6
Author: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
AuthorDate: Thu, 14 Aug 2014 02:22:32 +0000
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 15 Aug 2014 10:54:29 -0300
perf: Use strerror_r instead of strerror
Use strerror_r instead of strerror in error messages for thread-safety.
This also introduce STRERR_BUFSIZE macro for the default size of message
buffer for strerror_r.
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Naohiro Aota <naota@elisp.net>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20140814022232.3545.14026.stgit@kbuild-fedora.novalocal
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/perf.c | 10 +++++++---
tools/perf/util/debug.h | 3 +++
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/tools/perf/perf.c b/tools/perf/perf.c
index 2282d41..452a847 100644
--- a/tools/perf/perf.c
+++ b/tools/perf/perf.c
@@ -313,6 +313,7 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv)
int status;
struct stat st;
const char *prefix;
+ char sbuf[STRERR_BUFSIZE];
prefix = NULL;
if (p->option & RUN_SETUP)
@@ -343,7 +344,8 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv)
status = 1;
/* Check for ENOSPC and EIO errors.. */
if (fflush(stdout)) {
- fprintf(stderr, "write failure on standard output: %s", strerror(errno));
+ fprintf(stderr, "write failure on standard output: %s",
+ strerror_r(errno, sbuf, sizeof(sbuf)));
goto out;
}
if (ferror(stdout)) {
@@ -351,7 +353,8 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv)
goto out;
}
if (fclose(stdout)) {
- fprintf(stderr, "close failed on standard output: %s", strerror(errno));
+ fprintf(stderr, "close failed on standard output: %s",
+ strerror_r(errno, sbuf, sizeof(sbuf)));
goto out;
}
status = 0;
@@ -466,6 +469,7 @@ void pthread__unblock_sigwinch(void)
int main(int argc, const char **argv)
{
const char *cmd;
+ char sbuf[STRERR_BUFSIZE];
/* The page_size is placed in util object. */
page_size = sysconf(_SC_PAGE_SIZE);
@@ -561,7 +565,7 @@ int main(int argc, const char **argv)
}
fprintf(stderr, "Failed to run command '%s': %s\n",
- cmd, strerror(errno));
+ cmd, strerror_r(errno, sbuf, sizeof(sbuf)));
out:
return 1;
}
diff --git a/tools/perf/util/debug.h b/tools/perf/util/debug.h
index 6944ea3..be264d6 100644
--- a/tools/perf/util/debug.h
+++ b/tools/perf/util/debug.h
@@ -3,6 +3,7 @@
#define __PERF_DEBUG_H
#include <stdbool.h>
+#include <string.h>
#include "event.h"
#include "../ui/helpline.h"
#include "../ui/progress.h"
@@ -36,6 +37,8 @@ extern int debug_ordered_events;
#define pr_oe_time(t, fmt, ...) pr_time_N(1, debug_ordered_events, t, pr_fmt(fmt), ##__VA_ARGS__)
#define pr_oe_time2(t, fmt, ...) pr_time_N(2, debug_ordered_events, t, pr_fmt(fmt), ##__VA_ARGS__)
+#define STRERR_BUFSIZE 128 /* For the buffer size of strerror_r */
+
int dump_printf(const char *fmt, ...) __attribute__((format(printf, 1, 2)));
void trace_event(union perf_event *event);
next prev parent reply other threads:[~2014-08-18 8:24 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-14 2:22 [PATCH 00/13] perf: Replace strerror with strerror_r for thread-safety Masami Hiramatsu
2014-08-14 2:22 ` [PATCH 01/13] perf probe: Don't use strerror if strlist__add failed Masami Hiramatsu
2014-08-18 8:22 ` [tip:perf/core] perf probe: Don' t " tip-bot for Masami Hiramatsu
2014-08-14 2:22 ` [PATCH 02/13] perf: Use strerror_r instead of strerror Masami Hiramatsu
2014-08-18 8:23 ` tip-bot for Masami Hiramatsu [this message]
2014-08-14 2:22 ` [PATCH 03/13] perf probe: Make error messages thread-safe Masami Hiramatsu
2014-08-18 8:23 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2014-08-14 2:22 ` [PATCH 04/13] perf/util: Replace strerror with strerror_r for thread-safety Masami Hiramatsu
2014-08-18 8:23 ` [tip:perf/core] perf util: " tip-bot for Masami Hiramatsu
2014-08-14 2:22 ` [PATCH 05/13] perf top: Use strerror_r instead of strerror Masami Hiramatsu
2014-08-18 8:23 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2014-08-14 2:22 ` [PATCH 06/13] perf trace: " Masami Hiramatsu
2014-08-18 8:24 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2014-08-14 2:22 ` [PATCH 07/13] perf record: " Masami Hiramatsu
2014-08-18 8:24 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2014-08-14 2:22 ` [PATCH 08/13] perf test: " Masami Hiramatsu
2014-08-18 8:24 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2014-08-14 2:22 ` [PATCH 09/13] perf sched: " Masami Hiramatsu
2014-08-18 8:24 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2014-08-14 2:22 ` [PATCH 10/13] perf buildid-cache: " Masami Hiramatsu
2014-08-18 8:25 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2014-08-14 2:22 ` [PATCH 11/13] perf kvm: " Masami Hiramatsu
2014-08-18 8:25 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2014-08-14 2:22 ` [PATCH 12/13] perf help: " Masami Hiramatsu
2014-08-18 8:25 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
2014-08-14 2:22 ` [PATCH 13/13] perf stat: " Masami Hiramatsu
2014-08-18 8:25 ` [tip:perf/core] " tip-bot for Masami Hiramatsu
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=tip-b2348e1d8a67c58de44820587fabc4f987eafbb6@git.kernel.org \
--to=tipbot@zytor.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=naota@elisp.net \
--cc=paulus@samba.org \
--cc=tglx@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.