|
@@ -33,7 +33,7 @@ Signed-off-by: Tony Ambardar <[email protected]>
|
|
|
#include <ftw.h>
|
|
#include <ftw.h>
|
|
|
#include <dirent.h>
|
|
#include <dirent.h>
|
|
|
#include <fcntl.h>
|
|
#include <fcntl.h>
|
|
|
-@@ -72,8 +73,20 @@ static int do_nftw(char *path, int (*fn)
|
|
|
|
|
|
|
+@@ -74,8 +75,20 @@ static int do_nftw(char *path, int (*fn)
|
|
|
if (!fd_limit) close(dfd);
|
|
if (!fd_limit) close(dfd);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -56,7 +56,7 @@ Signed-off-by: Tony Ambardar <[email protected]>
|
|
|
|
|
|
|
|
for (; h; h = h->chain)
|
|
for (; h; h = h->chain)
|
|
|
if (h->dev == st.st_dev && h->ino == st.st_ino)
|
|
if (h->dev == st.st_dev && h->ino == st.st_ino)
|
|
|
-@@ -101,7 +114,10 @@ static int do_nftw(char *path, int (*fn)
|
|
|
|
|
|
|
+@@ -103,7 +116,10 @@ static int do_nftw(char *path, int (*fn)
|
|
|
strcpy(path+j+1, de->d_name);
|
|
strcpy(path+j+1, de->d_name);
|
|
|
if ((r=do_nftw(path, fn, fd_limit-1, flags, &new))) {
|
|
if ((r=do_nftw(path, fn, fd_limit-1, flags, &new))) {
|
|
|
closedir(d);
|
|
closedir(d);
|
|
@@ -68,7 +68,7 @@ Signed-off-by: Tony Ambardar <[email protected]>
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
closedir(d);
|
|
closedir(d);
|
|
|
-@@ -112,8 +128,16 @@ static int do_nftw(char *path, int (*fn)
|
|
|
|
|
|
|
+@@ -114,8 +130,16 @@ static int do_nftw(char *path, int (*fn)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
path[l] = 0;
|
|
path[l] = 0;
|
|
@@ -87,9 +87,9 @@ Signed-off-by: Tony Ambardar <[email protected]>
|
|
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
|
}
|
|
}
|
|
|
-@@ -139,4 +163,5 @@ int nftw(const char *path, int (*fn)(con
|
|
|
|
|
|
|
+@@ -140,3 +164,5 @@ int nftw(const char *path, int (*fn)(con
|
|
|
|
|
+ pthread_setcancelstate(cs, 0);
|
|
|
return r;
|
|
return r;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
++
|
|
|
+#undef nftw64
|
|
+#undef nftw64
|
|
|
- weak_alias(nftw, nftw64);
|
|
|