MINOR: mworker: stop MASTER proxy listener on worker mcli sockpair

After sending its "READY" status worker should not keep the access
to MASTER proxy, thus, it shouldn't be able to send any other commands further
to master process.

To achieve this, let's stop in master context master CLI listener attached on
the sockpair shared with worker. We do this just after receiving the worker's
status message.
This commit is contained in:
Valentine Krasnobaeva 2024-10-22 15:09:29 +02:00 committed by William Lallemand
parent 3a5b28e00c
commit e9c8e0efc9

View File

@ -2469,6 +2469,7 @@ static int cli_parse_simple(char **args, char *payload, struct appctx *appctx, v
static int _send_status(char **args, char *payload, struct appctx *appctx, void *private)
{
struct listener *mproxy_li;
struct mworker_proc *proc;
int pid;
@ -2479,8 +2480,11 @@ static int _send_status(char **args, char *payload, struct appctx *appctx, void
list_for_each_entry(proc, &proc_list, list) {
/* update status of the new worker */
if (proc->pid == pid)
if (proc->pid == pid) {
proc->options &= ~PROC_O_INIT;
mproxy_li = fdtab[proc->ipc_fd[0]].owner;
stop_listener(mproxy_li, 0, 0, 0);
}
/* send TERM to workers, which have exceeded max_reloads counter */
if (max_reloads != -1) {
if ((proc->options & PROC_O_TYPE_WORKER) &&