Commit 5a409c44baf2c7c2bd36fb8e8c2d5b2ce5b1908b

Vicent Martí 2012-09-11T11:04:09

Merge pull request #924 from schu/cache-fix-race-cond cache: fix race condition

diff --git a/src/cache.c b/src/cache.c
index 3aa14f0..1f5b887 100644
--- a/src/cache.c
+++ b/src/cache.c
@@ -89,12 +89,13 @@ void *git_cache_try_store(git_cache *cache, void *_entry)
 			git_cached_obj_decref(node, cache->free_obj);
 			cache->nodes[hash & cache->size_mask] = entry;
 		}
+
+		/* increase the refcount again, because we are
+		 * returning it to the user */
+		git_cached_obj_incref(entry);
+
 	}
 	git_mutex_unlock(&cache->lock);
 
-	/* increase the refcount again, because we are
-	 * returning it to the user */
-	git_cached_obj_incref(entry);
-
 	return entry;
 }