Re: [PATCH] perf: excluding "." and ".." directories when calculatingtids.

From: Adam Schrotenboer
Date: Wed Jun 16 2010 - 12:43:31 EST


On 06/15/2010 10:21 PM, Gui Jianfeng wrote:
> Introduce a filter function to skip "." and ".." directories when calculating
> tid number.
>
> Signed-off-by: Gui Jianfeng <guijianfeng@xxxxxxxxxxxxxx>
> ---
> tools/perf/util/thread.c | 11 ++++++++++-
> 1 files changed, 10 insertions(+), 1 deletions(-)
>
> diff --git a/tools/perf/util/thread.c b/tools/perf/util/thread.c
> index 1f7ecd4..9a448b4 100644
> --- 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;
> +}
> +
>

Is this safe? Can you _never_ have a d_name with a leading dot, like '
.hidden' ??
Maybe should
if(dir->d_name[0] == '.' && (dir->d_name[1] == '\0' || (dir->d_name[1]
== '.' && dir->d_name[2] == '\0')))

Admittedly I don't think it happens in the current procfs, but I'd want
to be careful regardless.


Attachment: signature.asc
Description: OpenPGP digital signature