r440 - trunk/varnish-cache/bin/varnishtester
phk at projects.linpro.no
phk at projects.linpro.no
Tue Jul 11 21:16:42 CEST 2006
Author: phk
Date: 2006-07-11 21:16:42 +0200 (Tue, 11 Jul 2006)
New Revision: 440
Modified:
trunk/varnish-cache/bin/varnishtester/varnishtester.c
Log:
If the first char of the serve string is '!', close connection after
sending string.
Modified: trunk/varnish-cache/bin/varnishtester/varnishtester.c
===================================================================
--- trunk/varnish-cache/bin/varnishtester/varnishtester.c 2006-07-11 19:10:05 UTC (rev 439)
+++ trunk/varnish-cache/bin/varnishtester/varnishtester.c 2006-07-11 19:16:42 UTC (rev 440)
@@ -41,6 +41,7 @@
struct serv {
TAILQ_ENTRY(serv) list;
char *data;
+ int close;
};
static TAILQ_HEAD(,serv) serv_head = TAILQ_HEAD_INITIALIZER(serv_head);
@@ -57,11 +58,13 @@
p = evbuffer_readline(bev->input);
if (p == NULL)
return;
- printf("A: <<%s>>\n", p);
+ printf("B: <<%s>>\n", p);
if (*p == '\0') {
sp = TAILQ_FIRST(&serv_head);
assert(sp != NULL);
write(*ip, sp->data, strlen(sp->data));
+ if (sp->close)
+ shutdown(*ip, SHUT_WR);
if (TAILQ_NEXT(sp, list) != NULL) {
TAILQ_REMOVE(&serv_head, sp, list);
free(sp->data);
@@ -76,8 +79,8 @@
{
int *ip;
+ (void)what;
ip = arg;
- printf("%s(%p, 0x%x, %p)\n", __func__, bev, what, arg);
bufferevent_disable(bev, EV_READ);
bufferevent_free(bev);
close(*ip);
@@ -170,7 +173,12 @@
for (i = 0; av[i] != NULL; i++) {
sp = calloc(sizeof *sp, 1);
assert(sp != NULL);
- sp->data = strdup(av[i]);
+ if (av[i][0] == '!') {
+ sp->close = 1;
+ sp->data = strdup(av[i] + 1);
+ } else {
+ sp->data = strdup(av[i]);
+ }
assert(sp->data != NULL);
TAILQ_INSERT_TAIL(&serv_head, sp, list);
}
More information about the varnish-commit
mailing list