[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