[3.0] b69fff3 Use better criteria for determining if child CLI connection is hosed.
Lasse Karstensen
lkarsten at varnish-software.com
Mon Dec 1 11:19:24 CET 2014
commit b69fff3f3404ac8800d74657c7d3e2c04bf54eeb
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Sun Nov 13 22:02:44 2011 +0000
Use better criteria for determining if child CLI connection is hosed.
Backports commit 2144dc78 for Varnish 3.0.6 (by Geoff)
diff --git a/bin/varnishd/mgt_cli.c b/bin/varnishd/mgt_cli.c
index 7b27e98..da22660 100644
--- a/bin/varnishd/mgt_cli.c
+++ b/bin/varnishd/mgt_cli.c
@@ -172,7 +172,8 @@ mcf_askchild(struct cli *cli, const char * const *av, void *priv)
return;
}
VSB_delete(vsb);
- (void)VCLI_ReadResult(cli_i, &u, &q, params->cli_timeout);
+ if (VCLI_ReadResult(cli_i, &u, &q, params->cli_timeout))
+ MGT_Child_Cli_Fail();
VCLI_SetResult(cli, u);
VCLI_Out(cli, "%s", q);
free(q);
@@ -221,11 +222,10 @@ mgt_cli_askchild(unsigned *status, char **resp, const char *fmt, ...) {
return (CLIS_COMMS);
}
- (void)VCLI_ReadResult(cli_i, &u, resp, params->cli_timeout);
+ if (VCLI_ReadResult(cli_i, &u, resp, params->cli_timeout))
+ MGT_Child_Cli_Fail();
if (status != NULL)
*status = u;
- if (u == CLIS_COMMS)
- MGT_Child_Cli_Fail();
return (u == CLIS_OK ? 0 : u);
}
More information about the varnish-commit
mailing list