X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=filter_common.c;h=7af5ace6533aa88a85b5ea9c8295867192164af0;hp=0c92f42c1e4b96760667e63a9dbc65b6dbf2d2a6;hb=810761a3cdf3f75dd8e07a5d903793048c36df1d;hpb=5b1e8c76053c57bf3491d4914cb8fd7896c3ff20 diff --git a/filter_common.c b/filter_common.c index 0c92f42c..7af5ace6 100644 --- a/filter_common.c +++ b/filter_common.c @@ -36,70 +36,6 @@ void filter_init(void) filters[i].init(filters + i); } -/** - * Close and destroy a filter callback. - * - * \param fcb The filter callback to close. - * - * This removes \a fcb from the list of filter callbacks and calls - * the close callback associated with \a fcb. - */ -static void close_filter_callback(struct filter_callback *fcb) -{ - PARA_NOTICE_LOG("closing filter_callback %p\n", fcb); - list_del(&fcb->node); - fcb->close(fcb); -} - -/** - * Close all callbacks of a filter node. - * - * \param fn The filter node which contains the filter callbacks to be closed. - * - * Call close_filter_callback() for each entry in the filter callback list - * of \a fn. - */ -static void close_callbacks(struct filter_node *fn) -{ - struct filter_callback *fcb, *tmp; - - list_for_each_entry_safe(fcb, tmp, &fn->callbacks, node) { - PARA_INFO_LOG("closing %s filter callback\n", - filters[fn->filter_num].name); - close_filter_callback(fcb); - } -} - -/** - * Close all filter nodes and their callbacks. - * - * \param fc The filter chain to close. - * - * For each filter node determined by \a fc, call the close function of each - * registered filter callback as well as the close function of the - * corresponding filter. Free all resources and destroy all callback lists and - * the filter node list. - * - * \sa filter::close, filter_callback::close - */ -void close_filters(struct filter_chain *fc) -{ - struct filter_node *fn; - int i; - - if (!fc) - return; - PARA_NOTICE_LOG("closing filter chain %p\n", fc); - FOR_EACH_FILTER_NODE(fn, fc, i) { - struct filter *f = filters + fn->filter_num; - close_callbacks(fn); - PARA_INFO_LOG("closing %s filter\n", f->name); - f->close(fn); - free(fn->conf); - } - free(fc->filter_nodes); -} - /* * If the filter has a command line parser and options is not NULL, run it. * Returns filter_num on success, negative on errors @@ -190,7 +126,6 @@ void print_filter_helps(int detailed) printf_or_die("Options for %s:\n", f->name); ggo_print_help(&f->help, detailed); } - } void generic_filter_pre_select(struct sched *s, struct task *t)