about summary refs log tree commit diff stats
path: root/cgit.c
diff options
context:
space:
mode:
Diffstat (limited to 'cgit.c')
-rw-r--r--cgit.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/cgit.c b/cgit.c index d1abaa0..0f72f2d 100644 --- a/cgit.c +++ b/cgit.c
@@ -61,13 +61,19 @@ static void cgit_check_cache(struct cacheitem *item)
61 sleep(1); 61 sleep(1);
62 goto top; 62 goto top;
63 } 63 }
64 if (!cache_exist(item)) 64 if (!cache_exist(item)) {
65 cgit_fill_cache(item); 65 cgit_fill_cache(item);
66 cache_unlock(item); 66 cache_unlock(item);
67 } else {
68 cache_cancel_lock(item);
69 }
67 } else if (cache_expired(item) && cache_lock(item)) { 70 } else if (cache_expired(item) && cache_lock(item)) {
68 if (cache_expired(item)) 71 if (cache_expired(item)) {
69 cgit_fill_cache(item); 72 cgit_fill_cache(item);
70 cache_unlock(item); 73 cache_unlock(item);
74 } else {
75 cache_cancel_lock(item);
76 }
71 } 77 }
72} 78}
73 79