[PATCH 4/4] Remove callback data parameter for cache slots
Lukas Fleischer
cgit at cryptocrack.de
Wed Jan 15 22:37:07 CET 2014
This is no longer needed since the context is always read from the
global context variable.
Signed-off-by: Lukas Fleischer <cgit at cryptocrack.de>
---
cache.c | 14 ++++++--------
cache.h | 5 ++---
cgit.c | 4 ++--
3 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/cache.c b/cache.c
index fa83ddc..fcd461f 100644
--- a/cache.c
+++ b/cache.c
@@ -24,7 +24,6 @@ struct cache_slot {
int keylen;
int ttl;
cache_fill_fn fn;
- void *cbdata;
int cache_fd;
int lock_fd;
const char *cache_name;
@@ -187,7 +186,7 @@ static int fill_slot(struct cache_slot *slot)
return errno;
/* Generate cache content */
- slot->fn(slot->cbdata);
+ slot->fn();
/* Restore stdout */
if (dup2(tmp, STDOUT_FILENO) == -1)
@@ -277,7 +276,7 @@ static int process_slot(struct cache_slot *slot)
if ((err = lock_slot(slot)) != 0) {
cache_log("[cgit] Unable to lock slot %s: %s (%d)\n",
slot->lock_name, strerror(err), err);
- slot->fn(slot->cbdata);
+ slot->fn();
return 0;
}
@@ -286,7 +285,7 @@ static int process_slot(struct cache_slot *slot)
slot->lock_name, strerror(err), err);
unlock_slot(slot, 0);
close_lock(slot);
- slot->fn(slot->cbdata);
+ slot->fn();
return 0;
}
// We've got a valid cache slot in the lock file, which
@@ -310,7 +309,7 @@ static int process_slot(struct cache_slot *slot)
/* Print cached content to stdout, generate the content if necessary. */
int cache_process(int size, const char *path, const char *key, int ttl,
- cache_fill_fn fn, void *cbdata)
+ cache_fill_fn fn)
{
unsigned long hash;
int i;
@@ -321,14 +320,14 @@ int cache_process(int size, const char *path, const char *key, int ttl,
/* If the cache is disabled, just generate the content */
if (size <= 0) {
- fn(cbdata);
+ fn();
return 0;
}
/* Verify input, calculate filenames */
if (!path) {
cache_log("[cgit] Cache path not specified, caching is disabled\n");
- fn(cbdata);
+ fn();
return 0;
}
if (!key)
@@ -343,7 +342,6 @@ int cache_process(int size, const char *path, const char *key, int ttl,
strbuf_addbuf(&lockname, &filename);
strbuf_addstr(&lockname, ".lock");
slot.fn = fn;
- slot.cbdata = cbdata;
slot.ttl = ttl;
slot.cache_name = filename.buf;
slot.lock_name = lockname.buf;
diff --git a/cache.h b/cache.h
index 5cfdb4f..9392836 100644
--- a/cache.h
+++ b/cache.h
@@ -6,7 +6,7 @@
#ifndef CGIT_CACHE_H
#define CGIT_CACHE_H
-typedef void (*cache_fill_fn)(void *cbdata);
+typedef void (*cache_fill_fn)(void);
/* Print cached content to stdout, generate the content if necessary.
@@ -17,13 +17,12 @@ typedef void (*cache_fill_fn)(void *cbdata);
* key the key used to lookup cache files
* ttl max cache time in seconds for this key
* fn content generator function for this key
- * cbdata user-supplied data to the content generator function
*
* Return value
* 0 indicates success, everyting else is an error
*/
extern int cache_process(int size, const char *path, const char *key, int ttl,
- cache_fill_fn fn, void *cbdata);
+ cache_fill_fn fn);
/* List info about all cache entries on stdout */
diff --git a/cgit.c b/cgit.c
index 19bcd0d..9ea4099 100644
--- a/cgit.c
+++ b/cgit.c
@@ -593,7 +593,7 @@ static int prepare_repo_cmd(void)
return 0;
}
-static void process_request(void *cbdata)
+static void process_request(void)
{
struct cgit_cmd *cmd;
@@ -957,7 +957,7 @@ int main(int argc, const char **argv)
if (ctx.cfg.nocache)
ctx.cfg.cache_size = 0;
err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root,
- ctx.qry.raw, ttl, process_request, NULL);
+ ctx.qry.raw, ttl, process_request);
cgit_cleanup_filters();
if (err)
cgit_print_error("Error processing page: %s (%d)",
--
1.8.5.2
More information about the CGit
mailing list