REORG: server: attach servers in parse_server

Move server linked into proxy backend list outside of _srv_parse_init to
parse_server.

This is groundwork for dynamic servers support. There will be two
differences in case of a dynamic server :
- the server will be attached to the proxy list only at the very end of the
  operations when everything is ok
- the server will be directly attached to the end of the server proxy
  list
This commit is contained in:
Amaury Denoyelle 2021-03-08 16:35:54 +01:00
parent 7d27efef23
commit cf58dd79e3

View File

@ -2405,9 +2405,6 @@ static int _srv_parse_init(struct server **srv, char **args, int *cur_arg, struc
newsrv->tmpl_info.nb_high = tmpl_range_high;
}
/* the servers are linked backwards first */
newsrv->next = curproxy->srv;
curproxy->srv = newsrv;
/* Note: for a server template, its id is its prefix.
* This is a temporary id which will be used for server allocations to come
* after parsing.
@ -2648,6 +2645,12 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
free(errmsg);
}
/* the servers are linked backwards first */
if (newsrv && !defsrv) {
newsrv->next = curproxy->srv;
curproxy->srv = newsrv;
}
if (err_code & ERR_CODE)
goto out;
@ -2683,6 +2686,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
if (srv_tmpl)
_srv_parse_tmpl_init(newsrv, curproxy);
}
return 0;
out: