mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-04 20:46:11 +02:00
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:
parent
3a5b28e00c
commit
e9c8e0efc9
@ -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) &&
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user