diff --git a/include/haproxy/proxy.h b/include/haproxy/proxy.h index 26e00d141..98df4d1e6 100644 --- a/include/haproxy/proxy.h +++ b/include/haproxy/proxy.h @@ -22,6 +22,8 @@ #ifndef _HAPROXY_PROXY_H #define _HAPROXY_PROXY_H +#include + #include #include #include @@ -120,6 +122,12 @@ static inline struct proxy *proxy_be_by_name(const char *name) return proxy_find_by_name(name, PR_CAP_BE, 0); } +/* index proxy 's id into used_proxy_id */ +static inline void proxy_index_id(struct proxy *px) +{ + eb32_insert(&used_proxy_id, &px->conf.id); +} + /* this function initializes all timeouts for proxy p */ static inline void proxy_reset_timeouts(struct proxy *proxy) { diff --git a/src/cfgparse-listen.c b/src/cfgparse-listen.c index 748ab696d..4cfd86307 100644 --- a/src/cfgparse-listen.c +++ b/src/cfgparse-listen.c @@ -750,7 +750,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm) err_code |= ERR_ALERT | ERR_FATAL; goto out; } - eb32_insert(&used_proxy_id, &curproxy->conf.id); + proxy_index_id(curproxy); } else if (strcmp(args[0], "description") == 0) { int i, len=0; diff --git a/src/cfgparse.c b/src/cfgparse.c index 3aef28aee..26239b484 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -2852,7 +2852,7 @@ init_proxies_list_stage1: */ next_pxid = proxy_get_next_id(next_pxid); curproxy->conf.id.key = curproxy->uuid = next_pxid; - eb32_insert(&used_proxy_id, &curproxy->conf.id); + proxy_index_id(curproxy); } if (curproxy->mode == PR_MODE_HTTP && global.tune.bufsize >= (256 << 20) && ONLY_ONCE()) { diff --git a/src/cli.c b/src/cli.c index dd81c5e0e..60f0119c5 100644 --- a/src/cli.c +++ b/src/cli.c @@ -467,7 +467,7 @@ static struct proxy *cli_alloc_fe(const char *name, const char *file, int line) /* the stats frontend is the only one able to assign ID #0 */ fe->conf.id.key = fe->uuid = 0; - eb32_insert(&used_proxy_id, &fe->conf.id); + proxy_index_id(fe); return fe; }