summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Fleischer <cgit@cryptocrack.de>2014-02-20 19:59:22 +0000
committerJason A. Donenfeld <Jason@zx2c4.com>2014-02-21 00:19:45 +0000
commit6ceba453a27ead382d0116d95bdeb6b6be1149e2 (patch)
tree3a4daf5a4d2fd1c0d158f41b4ea5350596fc25a2
parent8033dc01f4ae1551c21769f580caa723fb176d9c (diff)
downloadcgit-6ceba453a27ead382d0116d95bdeb6b6be1149e2.tar
cgit-6ceba453a27ead382d0116d95bdeb6b6be1149e2.tar.gz
cgit-6ceba453a27ead382d0116d95bdeb6b6be1149e2.zip
Skip cache slot when time-to-live is zero
If time-to-live is set to zero, we don't need to regenerate the cache slots on every request. Instead, just skip the caching process and immediately provide the dynamically generated version of the page. Setting time-to-live to zero is useful when you want to disable caching for certain pages. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
-rw-r--r--cache.c2
-rw-r--r--cgitrc.5.txt22
2 files changed, 15 insertions, 9 deletions
diff --git a/cache.c b/cache.c
index 9e7eeb0..801e63f 100644
--- a/cache.c
+++ b/cache.c
@@ -343,7 +343,7 @@ int cache_process(int size, const char *path, const char *key, int ttl,
int result;
/* If the cache is disabled, just generate the content */
- if (size <= 0) {
+ if (size <= 0 || ttl == 0) {
fn();
return 0;
}
diff --git a/cgitrc.5.txt b/cgitrc.5.txt
index a437fc4..7158c10 100644
--- a/cgitrc.5.txt
+++ b/cgitrc.5.txt
@@ -61,37 +61,43 @@ cache-root::
cache-static-ttl::
Number which specifies the time-to-live, in minutes, for the cached
version of repository pages accessed with a fixed SHA1. Negative
- values have infinite ttl. Default value: -1".
+ values have infinite ttl, zero means that the cache is disabled for
+ this type of pages. Default value: -1".
cache-dynamic-ttl::
Number which specifies the time-to-live, in minutes, for the cached
version of repository pages accessed without a fixed SHA1. Negative
- values have infinite ttl. Default value: "5".
+ values have infinite ttl, zero means that the cache is disabled for this
+ type of pages. Default value: "5".
cache-repo-ttl::
Number which specifies the time-to-live, in minutes, for the cached
version of the repository summary page. Negative values have infinite
- ttl. Default value: "5".
+ ttl, zero means that the cache is disabled for this type of pages.
+ Default value: "5".
cache-root-ttl::
Number which specifies the time-to-live, in minutes, for the cached
version of the repository index page. Negative values have infinite
- ttl. Default value: "5".
+ ttl, zero means that the cache is disabled for this type of pages.
+ Default value: "5".
cache-scanrc-ttl::
Number which specifies the time-to-live, in minutes, for the result
of scanning a path for git repositories. Negative values have infinite
- ttl. Default value: "15".
+ ttl, zero means that the cache is disable for this type of pages.
+ Default value: "15".
cache-about-ttl::
Number which specifies the time-to-live, in minutes, for the cached
version of the repository about page. Negative values have infinite
- ttl. Default value: "15".
+ ttl, zero means that the cache is disable for this type of pages.
+ Default value: "15".
cache-snapshot-ttl::
Number which specifies the time-to-live, in minutes, for the cached
- version of snapshots. Negative values have infinite ttl. Default
- value: "5".
+ version of snapshots. Negative values have infinite ttl, zero means
+ that the cache is disable for this type of pages. Default value: "5".
cache-size::
The maximum number of entries in the cgit cache. Default value: "0"