diff options
-rw-r--r-- | tools/perf/util/thread_map.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tools/perf/util/thread_map.c b/tools/perf/util/thread_map.c index 08afc6909953..267112b4e3db 100644 --- a/tools/perf/util/thread_map.c +++ b/tools/perf/util/thread_map.c | |||
@@ -94,7 +94,7 @@ struct thread_map *thread_map__new_by_uid(uid_t uid) | |||
94 | DIR *proc; | 94 | DIR *proc; |
95 | int max_threads = 32, items, i; | 95 | int max_threads = 32, items, i; |
96 | char path[256]; | 96 | char path[256]; |
97 | struct dirent dirent, *next, **namelist = NULL; | 97 | struct dirent *dirent, **namelist = NULL; |
98 | struct thread_map *threads = thread_map__alloc(max_threads); | 98 | struct thread_map *threads = thread_map__alloc(max_threads); |
99 | 99 | ||
100 | if (threads == NULL) | 100 | if (threads == NULL) |
@@ -107,16 +107,16 @@ struct thread_map *thread_map__new_by_uid(uid_t uid) | |||
107 | threads->nr = 0; | 107 | threads->nr = 0; |
108 | atomic_set(&threads->refcnt, 1); | 108 | atomic_set(&threads->refcnt, 1); |
109 | 109 | ||
110 | while (!readdir_r(proc, &dirent, &next) && next) { | 110 | while ((dirent = readdir(proc)) != NULL) { |
111 | char *end; | 111 | char *end; |
112 | bool grow = false; | 112 | bool grow = false; |
113 | struct stat st; | 113 | struct stat st; |
114 | pid_t pid = strtol(dirent.d_name, &end, 10); | 114 | pid_t pid = strtol(dirent->d_name, &end, 10); |
115 | 115 | ||
116 | if (*end) /* only interested in proper numerical dirents */ | 116 | if (*end) /* only interested in proper numerical dirents */ |
117 | continue; | 117 | continue; |
118 | 118 | ||
119 | snprintf(path, sizeof(path), "/proc/%s", dirent.d_name); | 119 | snprintf(path, sizeof(path), "/proc/%s", dirent->d_name); |
120 | 120 | ||
121 | if (stat(path, &st) != 0) | 121 | if (stat(path, &st) != 0) |
122 | continue; | 122 | continue; |