diff --git a/src/server.c b/src/server.c index e53d4847c..c299d202b 100644 --- a/src/server.c +++ b/src/server.c @@ -3122,9 +3122,9 @@ void srv_free_params(struct server *srv) free(srv->hostname); free(srv->hostname_dn); free((char*)srv->conf.file); - free(srv->per_thr); - free(srv->per_tgrp); - free(srv->curr_idle_thr); + ha_aligned_free(srv->per_thr); + ha_aligned_free(srv->per_tgrp); + ha_aligned_free(srv->curr_idle_thr); free(srv->pool_conn_name); release_sample_expr(srv->pool_conn_name_expr); free(srv->resolvers_id); @@ -3482,7 +3482,7 @@ int srv_init(struct server *srv) /* initialize idle conns lists */ if (srv->max_idle_conns != 0) { - srv->curr_idle_thr = calloc(global.nbthread, sizeof(*srv->curr_idle_thr)); + srv->curr_idle_thr = ha_aligned_zalloc(64, global.nbthread * sizeof(*srv->curr_idle_thr)); if (!srv->curr_idle_thr) { ha_alert("memory error during idle conn list init for %s/%s server\n", srv->proxy->id, srv->id); @@ -5918,8 +5918,8 @@ static int srv_init_per_thr(struct server *srv) { int i; - srv->per_thr = calloc(global.nbthread, sizeof(*srv->per_thr)); - srv->per_tgrp = calloc(global.nbtgroups, sizeof(*srv->per_tgrp)); + srv->per_thr = ha_aligned_zalloc(64, global.nbthread * sizeof(*srv->per_thr)); + srv->per_tgrp = ha_aligned_zalloc(64, global.nbtgroups * sizeof(*srv->per_tgrp)); if (!srv->per_thr || !srv->per_tgrp) return -1;