From: William Lallemand Date: Fri, 28 Jan 2022 20:11:41 +0000 (+0100) Subject: MINOR: mworker: allocate and initialize a mworker_proc X-Git-Tag: v2.6-dev1~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=56be0e0146c7d80ce6624f8c43b3799e7a72506d;p=thirdparty%2Fhaproxy.git MINOR: mworker: allocate and initialize a mworker_proc mworker_proc_new() allocates and initializes correctly a mworker_proc structure. --- diff --git a/include/haproxy/mworker.h b/include/haproxy/mworker.h index 09d6d587e2..c9dd8406ff 100644 --- a/include/haproxy/mworker.h +++ b/include/haproxy/mworker.h @@ -41,6 +41,7 @@ int mworker_ext_launch_all(void); void mworker_kill_max_reloads(int sig); +struct mworker_proc *mworker_proc_new(); void mworker_free_child(struct mworker_proc *); void mworker_cleanup_proc(); diff --git a/src/haproxy.c b/src/haproxy.c index eb6c520e62..84e6b9050a 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -1937,37 +1937,25 @@ static void init(int argc, char **argv) if (getenv("HAPROXY_MWORKER_REEXEC") == NULL) { - tmproc = calloc(1, sizeof(*tmproc)); + tmproc = mworker_proc_new(); if (!tmproc) { ha_alert("Cannot allocate process structures.\n"); exit(EXIT_FAILURE); } tmproc->options |= PROC_O_TYPE_MASTER; /* master */ - tmproc->failedreloads = 0; - tmproc->reloads = 0; tmproc->pid = pid; tmproc->timestamp = start_date.tv_sec; - tmproc->ipc_fd[0] = -1; - tmproc->ipc_fd[1] = -1; - proc_self = tmproc; LIST_APPEND(&proc_list, &tmproc->list); } - tmproc = calloc(1, sizeof(*tmproc)); + tmproc = mworker_proc_new(); if (!tmproc) { ha_alert("Cannot allocate process structures.\n"); exit(EXIT_FAILURE); } - tmproc->options |= PROC_O_TYPE_WORKER; /* worker */ - tmproc->pid = -1; - tmproc->failedreloads = 0; - tmproc->reloads = 0; - tmproc->timestamp = -1; - tmproc->ipc_fd[0] = -1; - tmproc->ipc_fd[1] = -1; if (mworker_cli_sockpair_new(tmproc, 0) < 0) { exit(EXIT_FAILURE); diff --git a/src/mworker.c b/src/mworker.c index fa3c1a25d2..5d30b18519 100644 --- a/src/mworker.c +++ b/src/mworker.c @@ -128,6 +128,25 @@ void mworker_proc_list_to_env() setenv("HAPROXY_PROCESSES", msg, 1); } +struct mworker_proc *mworker_proc_new() +{ + struct mworker_proc *child; + + child = calloc(1, sizeof(*child)); + if (!child) + return NULL; + + child->failedreloads = 0; + child->reloads = 0; + child->pid = -1; + child->ipc_fd[0] = -1; + child->ipc_fd[1] = -1; + child->timestamp = -1; + + return child; +} + + /* * unserialize the proc list from the environment */ @@ -147,7 +166,7 @@ int mworker_env_to_proc_list() msg = NULL; - child = calloc(1, sizeof(*child)); + child = mworker_proc_new(); if (!child) { ha_alert("Out of memory while trying to allocate a worker process structure."); return -1;