attrcache: do not lock/unlock the mutex directly

Improve encapsulation by not referencing the attrcache mutex directly
but instead using the `attr_cache_lock` and `attr_cache_unlock`
functions.
This commit is contained in:
Patrick Steinhardt 2017-02-21 11:43:32 +01:00
parent b13f0da153
commit b8ab782a6d

View File

@ -309,7 +309,7 @@ static void attr_cache__free(git_attr_cache *cache)
if (!cache) if (!cache)
return; return;
unlock = (git_mutex_lock(&cache->lock) == 0); unlock = (attr_cache_lock(cache) == 0);
if (cache->files != NULL) { if (cache->files != NULL) {
git_attr_file_entry *entry; git_attr_file_entry *entry;
@ -345,7 +345,7 @@ static void attr_cache__free(git_attr_cache *cache)
cache->cfg_excl_file = NULL; cache->cfg_excl_file = NULL;
if (unlock) if (unlock)
git_mutex_unlock(&cache->lock); attr_cache_unlock(cache);
git_mutex_free(&cache->lock); git_mutex_free(&cache->lock);
git__free(cache); git__free(cache);
@ -429,7 +429,7 @@ int git_attr_cache__insert_macro(git_repository *repo, git_attr_rule *macro)
if (macro->assigns.length == 0) if (macro->assigns.length == 0)
return 0; return 0;
if (git_mutex_lock(&cache->lock) < 0) { if (attr_cache_lock(cache) < 0) {
giterr_set(GITERR_OS, "unable to get attr cache lock"); giterr_set(GITERR_OS, "unable to get attr cache lock");
error = -1; error = -1;
} else { } else {