aboutsummaryrefslogtreecommitdiff
path: root/cgit.c
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2014-01-12 20:58:21 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2014-01-14 02:00:07 +0100
commitd750c7a2c9bb83cfc47c0d74fcee61f0a5042aa9 (patch)
tree51697a3a35b56957e827682d3119bdca4e2684bc /cgit.c
parent4bb87cbf17588ec91b46bf0ef0be01672e9be787 (diff)
downloadcgit-d750c7a2c9bb83cfc47c0d74fcee61f0a5042aa9.tar.gz
cgit-d750c7a2c9bb83cfc47c0d74fcee61f0a5042aa9.tar.bz2
filter: allow for cleanup hook for filter types
At some point, we're going to want to do lazy deallocation of filters. For example, if we implement lua, we'll want to load the lua runtime once for each filter, even if that filter is called many times. Similarly, for persistent exec filters, we'll want to load it once, despite many open_filter and close_filter calls, and only reap the child process at the end of the cgit process. For this reason, we add here a cleanup function that is called at the end of cgit's main(). Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'cgit.c')
-rw-r--r--cgit.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/cgit.c b/cgit.c
index 29b658e..4f31e58 100644
--- a/cgit.c
+++ b/cgit.c
@@ -951,6 +951,7 @@ int main(int argc, const char **argv)
ctx.cfg.cache_size = 0;
err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root,
ctx.qry.raw, ttl, process_request, &ctx);
+ cgit_cleanup_filters();
if (err)
cgit_print_error("Error processing page: %s (%d)",
strerror(err), err);