Hi, Here is a series to get rid of thread-unsafe strerror() from perf tools. Of course, there maybe other thread-unsafe functions, so this goes just one step forward. :)
This introduces STRERR_BUFSIZE(=128) macro for allocating local buffer, but some strerror_r()s don't use that. If there are already a local buffer on the stack, and if it is bigger than STRERR_BUFSIZE, I chose it for strerror_r()'s buffer. By the way, while doing this cleanup, I've found some confusions on the code. Currently perf has 3 ways to output messages except for standard (f)printf, pr_XXX, ui__XXX and warning/error functions. Is there any differences among those APIs? What is the expected use cases for them? For example, a pure printf is in kvm_live_open_events@builtin-kvm.c but it seems to be ui__error, because the error output next to it uses that. However, other parts use pr_XXX too. It seems inconsistent. Thank you, --- Masami Hiramatsu (8): perf probe: Don't use strerror if strlist__add failed perf: Use strerror_r instead of strerror perf probe: Make error messages thread-safe perf/util: Replace strerror with strerror_r for thread-safety perf top: Use strerror_r instead of strerror perf trace: Use strerror_r instead of strerror perf record: Use strerror_r instead of strerror perf test: Use strerror_r instead of strerror tools/perf/builtin-probe.c | 5 +++- tools/perf/builtin-record.c | 7 +++--- tools/perf/builtin-top.c | 2 +- tools/perf/builtin-trace.c | 6 +++-- tools/perf/perf.c | 10 ++++++--- tools/perf/tests/builtin-test.c | 4 +++ tools/perf/tests/mmap-basic.c | 7 +++--- tools/perf/tests/open-syscall-all-cpus.c | 5 +++- tools/perf/tests/open-syscall-tp-fields.c | 7 ++++-- tools/perf/tests/open-syscall.c | 3 ++- tools/perf/tests/perf-record.c | 13 ++++++++--- tools/perf/tests/rdpmc.c | 6 +++-- tools/perf/tests/sw-clock.c | 6 +++-- tools/perf/tests/task-exit.c | 6 +++-- tools/perf/util/cloexec.c | 6 +++-- tools/perf/util/data.c | 8 +++++-- tools/perf/util/debug.h | 3 +++ tools/perf/util/dso.c | 8 +++++-- tools/perf/util/evlist.c | 2 +- tools/perf/util/evsel.c | 7 ++++-- tools/perf/util/parse-events.c | 5 +++- tools/perf/util/probe-event.c | 34 ++++++++++++++++------------- tools/perf/util/probe-finder.c | 7 ++++-- tools/perf/util/run-command.c | 9 ++++++-- tools/perf/util/util.c | 5 +++- 25 files changed, 121 insertions(+), 60 deletions(-) -- Masami HIRAMATSU Software Platform Research Dept. Linux Technology Research Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu...@hitachi.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/