OSDN Git Service

perf thread_map: Use readdir() instead of deprecated readdir_r()
authorArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 8 Apr 2016 14:31:24 +0000 (11:31 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 12 May 2016 14:26:58 +0000 (11:26 -0300)
commit7839b9f32e45075d9eb48da8480faef3dbd019f0
tree23da316ea6b21f006b94452c812d7e77ebbee0bf
parent9a5f3bf332bbd42625b71553ca9ffdffa9fc4785
perf thread_map: Use readdir() instead of deprecated readdir_r()

The readdir() function is thread safe as long as just one thread uses a
DIR, which is the case in thread_map, so, to avoid breaking the build
with glibc-2.23.90 (upcoming 2.24), use it instead of readdir_r().

See: http://man7.org/linux/man-pages/man3/readdir.3.html

"However, in modern implementations (including the glibc implementation),
concurrent calls to readdir() that specify different directory streams
are thread-safe.  In cases where multiple threads must read from the
same directory stream, using readdir() with external synchronization is
still preferable to the use of the deprecated readdir_r(3) function."

Noticed while building on a Fedora Rawhide docker container.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-del8h2a0f40z75j4r42l96l0@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/thread_map.c