* maint:
Cope with file systems (e.g. FAT) that don't handle symlinks
Close file handle in create_cachedirtag on write error
Conflicts:
lockfile.c
goto out;
}
cc_log("lockfile_acquire: symlink %s: %s", lockfile, strerror(errno));
+ if (errno == ENOENT) {
+ /* Directory doesn't exist? */
+ if (create_parent_dirs(lockfile) == 0) {
+ /* OK. Retry. */
+ continue;
+ }
+ }
+ if (errno == EPERM) {
+ /*
+ * The file system does not support symbolic links. We have no choice but
+ * to grant the lock anyway.
+ */
+ acquired = true;
+ goto out;
+ }
if (errno != EEXIST) {
/* Directory doesn't exist or isn't writable? */
goto out;