From: William Lallemand Date: Fri, 26 Oct 2018 12:47:45 +0000 (+0200) Subject: MEDIUM: mworker: stop the master proxy in the workers X-Git-Tag: v1.9-dev5~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=309dc9adec2abfeedcbdd87c682ed79534f5a9d2;p=thirdparty%2Fhaproxy.git MEDIUM: mworker: stop the master proxy in the workers 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. --- diff --git a/include/proto/cli.h b/include/proto/cli.h index 74052f714e..c41c8bf9aa 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 4ed8b93f36..6e7c3d0c9b 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 4e6d243030..81db3e0fde 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