r730 - trunk/varnish-cache/bin/varnishd
phk at projects.linpro.no
phk at projects.linpro.no
Mon Aug 7 18:15:00 CEST 2006
Author: phk
Date: 2006-08-07 18:15:00 +0200 (Mon, 07 Aug 2006)
New Revision: 730
Modified:
trunk/varnish-cache/bin/varnishd/mgt_cli.c
Log:
Handle CLI trouble with the childproc
Modified: trunk/varnish-cache/bin/varnishd/mgt_cli.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/mgt_cli.c 2006-08-07 16:14:37 UTC (rev 729)
+++ trunk/varnish-cache/bin/varnishd/mgt_cli.c 2006-08-07 16:15:00 UTC (rev 730)
@@ -86,7 +86,6 @@
free(p);
i = cli_readres(cli_i, &u, &p, 3.0);
- assert(i == 0);
cli_result(cli, u);
cli_out(cli, "%s", p);
free(p);
@@ -174,7 +173,7 @@
mgt_cli_askchild(unsigned *status, char **resp, const char *fmt, ...)
{
char *p;
- int i;
+ int i, j;
va_list ap;
unsigned u;
@@ -186,9 +185,16 @@
if (i < 0)
return (i);
assert(p[i - 1] == '\n');
- i = write(cli_o, p, strlen(p));
- assert(i == strlen(p));
+ j = write(cli_o, p, i);
free(p);
+ if (j != i) {
+ free(p);
+ if (status != NULL)
+ *status = CLIS_COMMS;
+ if (resp != NULL)
+ *resp = strdup("CLI communication error");
+ return (CLIS_COMMS);
+ }
i = cli_readres(cli_i, &u, resp, 3.0);
assert(i == 0);
More information about the varnish-commit
mailing list