CLEANUP: filters: use the function registration to initialize all proxies
Function flt_init() was called in the main init code path, now we move it to the list of initializers and we can unexport flt_init().
This commit is contained in:
parent
865c5148e6
commit
64bca599d9
@ -95,7 +95,6 @@
|
||||
|
||||
extern struct pool_head *pool2_filter;
|
||||
|
||||
int flt_init(struct proxy *p);
|
||||
void flt_deinit(struct proxy *p);
|
||||
int flt_check(struct proxy *p);
|
||||
|
||||
|
@ -251,7 +251,7 @@ parse_filter(char **args, int section_type, struct proxy *curpx,
|
||||
* the configuration parsing. Filters can finish to fill their config. Returns
|
||||
* (ERR_ALERT|ERR_FATAL) if an error occurs, 0 otherwise.
|
||||
*/
|
||||
int
|
||||
static int
|
||||
flt_init(struct proxy *proxy)
|
||||
{
|
||||
struct flt_conf *fconf;
|
||||
@ -263,6 +263,24 @@ flt_init(struct proxy *proxy)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Calls flt_init() for all proxies, see above */
|
||||
static int
|
||||
flt_init_all()
|
||||
{
|
||||
struct proxy *px;
|
||||
int err_code = 0;
|
||||
|
||||
for (px = proxy; px; px = px->next) {
|
||||
err_code |= flt_init(px);
|
||||
if (err_code & (ERR_ABORT|ERR_FATAL)) {
|
||||
Alert("Failed to initialize filters for proxy '%s'.\n",
|
||||
px->id);
|
||||
return err_code;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Calls 'check' callback for all filters attached to a proxy. This happens
|
||||
* after the configuration parsing but before filters initialization. Returns
|
||||
@ -1078,6 +1096,7 @@ __filters_init(void)
|
||||
{
|
||||
pool2_filter = create_pool("filter", sizeof(struct filter), MEM_F_SHARED);
|
||||
cfg_register_keywords(&cfg_kws);
|
||||
hap_register_post_check(flt_init_all);
|
||||
}
|
||||
|
||||
__attribute__((destructor))
|
||||
|
@ -936,15 +936,6 @@ static void init(int argc, char **argv)
|
||||
ha_wurfl_init();
|
||||
#endif
|
||||
|
||||
for (px = proxy; px; px = px->next) {
|
||||
err_code |= flt_init(px);
|
||||
if (err_code & (ERR_ABORT|ERR_FATAL)) {
|
||||
Alert("Failed to initialize filters for proxy '%s'.\n",
|
||||
px->id);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
list_for_each_entry(pcf, &post_check_list, list) {
|
||||
err_code |= pcf->fct();
|
||||
if (err_code & (ERR_ABORT|ERR_FATAL))
|
||||
|
Loading…
x
Reference in New Issue
Block a user