[master] 020c5a6 Split pushing of VCLs and starting the acceptor
Martin Blix Grydeland
martin at varnish-software.com
Mon Mar 5 13:51:07 UTC 2018
commit 020c5a620d9dd8f8b82c5564dd8c8ee2d1dd8b19
Author: Martin Blix Grydeland <martin at varnish-software.com>
Date: Tue Feb 27 15:46:17 2018 +0100
Split pushing of VCLs and starting the acceptor
This is so that errors in either will be reported under the right heading.
diff --git a/bin/varnishd/mgt/mgt.h b/bin/varnishd/mgt/mgt.h
index 81d11f5..7575de2 100644
--- a/bin/varnishd/mgt/mgt.h
+++ b/bin/varnishd/mgt/mgt.h
@@ -213,7 +213,7 @@ char *mgt_VccCompile(struct cli *, struct vclprog *, const char *vclname,
void mgt_vcl_init(void);
void mgt_vcl_startup(struct cli *, const char *vclsrc, const char *origin,
const char *vclname, int Cflag);
-int mgt_push_vcls_and_start(struct cli *, unsigned *status, char **p);
+int mgt_push_vcls(struct cli *, unsigned *status, char **p);
void mgt_vcl_export_labels(struct vcc *);
int mgt_has_vcl(void);
void mgt_vcl_depends(struct vclprog *vp1, const char *name);
diff --git a/bin/varnishd/mgt/mgt_child.c b/bin/varnishd/mgt/mgt_child.c
index 8b70f1a..0c8660c 100644
--- a/bin/varnishd/mgt/mgt_child.c
+++ b/bin/varnishd/mgt/mgt_child.c
@@ -395,15 +395,25 @@ mgt_launch_child(struct cli *cli)
mgt_cli_start_child(child_cli_in, child_cli_out);
child_pid = pid;
- if (mgt_push_vcls_and_start(cli, &u, &p)) {
+ child_state = CH_RUNNING;
+
+ if (mgt_push_vcls(cli, &u, &p)) {
VCLI_SetResult(cli, u);
MGT_Complain(C_ERR, "Child (%jd) Pushing vcls failed:\n%s",
(intmax_t)child_pid, p);
free(p);
- child_state = CH_RUNNING;
MCH_Stop_Child();
- } else
- child_state = CH_RUNNING;
+ return;
+ }
+
+ if (mgt_cli_askchild(&u, &p, "start\n")) {
+ VCLI_SetResult(cli, u);
+ MGT_Complain(C_ERR, "Child (%jd) Acceptor start failed:\n%s",
+ (intmax_t)child_pid, p);
+ free(p);
+ MCH_Stop_Child();
+ return;
+ }
}
/*=====================================================================
diff --git a/bin/varnishd/mgt/mgt_vcl.c b/bin/varnishd/mgt/mgt_vcl.c
index ae31eed..5974b58 100644
--- a/bin/varnishd/mgt/mgt_vcl.c
+++ b/bin/varnishd/mgt/mgt_vcl.c
@@ -545,7 +545,7 @@ mgt_vcl_export_labels(struct vcc *vcc)
/*--------------------------------------------------------------------*/
int
-mgt_push_vcls_and_start(struct cli *cli, unsigned *status, char **p)
+mgt_push_vcls(struct cli *cli, unsigned *status, char **p)
{
struct vclprog *vp;
struct vcldep *vd;
@@ -594,10 +594,6 @@ mgt_push_vcls_and_start(struct cli *cli, unsigned *status, char **p)
return (1);
free(*p);
*p = NULL;
- if (mgt_cli_askchild(status, p, "start\n"))
- return (1);
- free(*p);
- *p = NULL;
return (0);
}
More information about the varnish-commit
mailing list