projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a1e80fa
)
perf tools: Fix find tids routine by excluding "." and ".."
author
Gui Jianfeng
<guijianfeng@cn.fujitsu.com>
Wed, 16 Jun 2010 05:21:44 +0000
(13:21 +0800)
committer
Arnaldo Carvalho de Melo
<acme@redhat.com>
Thu, 1 Jul 2010 17:02:38 +0000
(14:02 -0300)
Introduce a filter function to skip "." and ".." directories when calculating
tid number, otherwise tid 0 will be included in the all_tid result array.
Cc: Ingo Molnar <mingo@elte.hu>
LKML-Reference: <
4C185F68
.
1020505
@cn.fujitsu.com>
Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/thread.c
patch
|
blob
|
history
diff --git
a/tools/perf/util/thread.c
b/tools/perf/util/thread.c
index
1f7ecd4
..
9a448b4
100644
(file)
--- a/
tools/perf/util/thread.c
+++ b/
tools/perf/util/thread.c
@@
-7,6
+7,15
@@
#include "util.h"
#include "debug.h"
+/* Skip "." and ".." directories */
+static int filter(const struct dirent *dir)
+{
+ if (dir->d_name[0] == '.')
+ return 0;
+ else
+ return 1;
+}
+
int find_all_tid(int pid, pid_t ** all_tid)
{
char name[256];
@@
-16,7
+25,7
@@
int find_all_tid(int pid, pid_t ** all_tid)
int i;
sprintf(name, "/proc/%d/task", pid);
- items = scandir(name, &namelist,
NULL
, NULL);
+ items = scandir(name, &namelist,
filter
, NULL);
if (items <= 0)
return -ENOENT;
*all_tid = malloc(sizeof(pid_t) * items);