The master proxy which handles the CLI should not be used or shown in the stats of the workers. This proxy is now disabled after the fork. --- include/proto/cli.h | 3 +++ src/cli.c | 8 ++++++++ src/haproxy.c | 2 ++ 3 files changed, 13 insertions(+)
diff --git a/include/proto/cli.h b/include/proto/cli.h index 74052f714..c41c8bf9a 100644 --- a/include/proto/cli.h +++ b/include/proto/cli.h @@ -28,9 +28,12 @@ void cli_register_kw(struct cli_kw_list *kw_list); int cli_has_level(struct appctx *appctx, int level); +/* mworker proxy functions */ + int mworker_cli_proxy_create(); int mworker_cli_proxy_new_listener(char *line); int mworker_cli_sockpair_new(struct mworker_proc *mworker_proc, int proc); +void mworker_cli_proxy_stop(); /* proxy mode cli functions */ diff --git a/src/cli.c b/src/cli.c index d8ae79d7b..f5935693f 100644 --- a/src/cli.c +++ b/src/cli.c @@ -2073,6 +2073,14 @@ int pcli_wait_for_response(struct stream *s, struct channel *rep, int an_bit) * The mworker functions are used to initialize the CLI in the master process */ + /* + * Stop the mworker proxy + */ +void mworker_cli_proxy_stop() +{ + stop_proxy(mworker_proxy); +} + /* * Create the mworker CLI proxy */ diff --git a/src/haproxy.c b/src/haproxy.c index 4e6d24303..81db3e0fd 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -3058,6 +3058,8 @@ int main(int argc, char **argv) struct mworker_proc *child, *it; master = 0; + mworker_cli_proxy_stop(); + /* free proc struct of other processes */ list_for_each_entry_safe(child, it, &proc_list, list) { /* close the FD of the master side for all -- 2.16.4