about summary refs log tree commit diff stats
path: root/cgit.c
diff options
context:
space:
mode:
authorJason A. Donenfeld2014-01-12 20:58:21 +0100
committerJason A. Donenfeld2014-01-14 02:00:07 +0100
commitd750c7a2c9bb83cfc47c0d74fcee61f0a5042aa9 (patch)
tree51697a3a35b56957e827682d3119bdca4e2684bc /cgit.c
parentfilter: introduce "filter type" prefix (diff)
downloadcgit-d750c7a2c9bb83cfc47c0d74fcee61f0a5042aa9.tar.gz
cgit-d750c7a2c9bb83cfc47c0d74fcee61f0a5042aa9.zip
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)
951 ctx.cfg.cache_size = 0; 951 ctx.cfg.cache_size = 0;
952 err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root, 952 err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root,
953 ctx.qry.raw, ttl, process_request, &ctx); 953 ctx.qry.raw, ttl, process_request, &ctx);
954 cgit_cleanup_filters();
954 if (err) 955 if (err)
955 cgit_print_error("Error processing page: %s (%d)", 956 cgit_print_error("Error processing page: %s (%d)",
956 strerror(err), err); 957 strerror(err), err);