diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2014-01-12 20:58:21 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2014-01-14 02:00:07 +0100 |
commit | d750c7a2c9bb83cfc47c0d74fcee61f0a5042aa9 (patch) | |
tree | 51697a3a35b56957e827682d3119bdca4e2684bc /cgit.c | |
parent | filter: introduce "filter type" prefix (diff) | |
download | cgit-pink-d750c7a2c9bb83cfc47c0d74fcee61f0a5042aa9.tar.gz cgit-pink-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 '')
-rw-r--r-- | cgit.c | 1 |
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); |