summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Rosdahl <joel@rosdahl.net>2011-09-11 21:01:28 +0200
committerJoel Rosdahl <joel@rosdahl.net>2011-09-11 21:01:28 +0200
commit143ee0557483638b7bbe0963df757d4a03ed7d82 (patch)
treead993c9130746971307e8af95997c323f0c88fcf
parent3a6b48bb6c108d73e89fdb4cba6b81a3ffff9b42 (diff)
downloadccache-143ee0557483638b7bbe0963df757d4a03ed7d82.tar.gz
Handle non-writable CCACHE_DIR gracefully
-rw-r--r--ccache.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/ccache.c b/ccache.c
index 3bb6d77c..7e0db22f 100644
--- a/ccache.c
+++ b/ccache.c
@@ -1824,6 +1824,14 @@ ccache(int argc, char *argv[])
failed();
}
+ if (!getenv("CCACHE_READONLY")) {
+ if (create_cachedirtag(cache_dir) != 0) {
+ cc_log("failed to create %s/CACHEDIR.TAG (%s)\n",
+ cache_dir, strerror(errno));
+ failed();
+ }
+ }
+
sloppiness = parse_sloppiness(getenv("CCACHE_SLOPPINESS"));
cc_log_argv("Command line: ", argv);
@@ -2176,15 +2184,6 @@ ccache_main(int argc, char *argv[])
exit(1);
}
- if (!getenv("CCACHE_READONLY")) {
- if (create_cachedirtag(cache_dir) != 0) {
- fprintf(stderr,
- "ccache: failed to create %s/CACHEDIR.TAG (%s)\n",
- cache_dir, strerror(errno));
- exit(1);
- }
- }
-
ccache(argc, argv);
return 1;
}