From: Andrew Tridgell Date: Thu, 28 Mar 2002 05:49:31 +0000 (+0100) Subject: handle unlink races better X-Git-Tag: v1.0~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8d91b7ceb32f52b8bec3594f375c48fe92fe39df;p=thirdparty%2Fccache.git handle unlink races better --- diff --git a/ccache_clean.c b/ccache_clean.c index 9ed3aed38..ccdac18f3 100644 --- a/ccache_clean.c +++ b/ccache_clean.c @@ -71,7 +71,7 @@ static void sort_and_clean(void) /* delete enough files to bring us below the threshold */ for (i=0;i= size_threshold;i++) { - if (unlink(files[i]->fname) != 0) { + if (unlink(files[i]->fname) != 0 && errno != ENOENT) { fprintf(stderr, "unlink %s - %s\n", files[i]->fname, strerror(errno)); continue; diff --git a/util.c b/util.c index 1d5d35de6..d755de450 100644 --- a/util.c +++ b/util.c @@ -190,7 +190,9 @@ void traverse(const char *dir, void (*fn)(const char *, struct stat *)) x_asprintf(&fname, "%s/%s", dir, de->d_name); if (lstat(fname, &st)) { - perror(fname); + if (errno != ENOENT) { + perror(fname); + } free(fname); continue; }