]> err.no Git - varnish/commitdiff
Fix pipe mode
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Fri, 7 Jul 2006 07:22:15 +0000 (07:22 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Fri, 7 Jul 2006 07:22:15 +0000 (07:22 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@369 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/cache_pipe.c

index 29fb92780bd725f3404674f0773895d8d8717820..932e6b197ffc8a7afeab6e3619a3c37b6b1e1668 100644 (file)
@@ -47,24 +47,18 @@ PipeSession(struct worker *w, struct sess *sp)
        int fd, i;
        void *fd_token;
        struct edir e1, e2;
+       char *b, *e;
 
        fd = VBE_GetFd(sp->backend, &fd_token, sp->xid);
        assert(fd != -1);
 
-       http_BuildSbuf(fd, Build_Pipe, w->sb, sp->http);        /* XXX: 0 ?? */
+       http_BuildSbuf(fd, Build_Pipe, w->sb, sp->http);
        i = write(fd, sbuf_data(w->sb), sbuf_len(w->sb));
        assert(i == sbuf_len(w->sb));
-       assert(__LINE__ == 0);
-#if 0
-       { int j;
-       j = 0;
-       i = sp->rcv_len - sp->rcv_ptr;
-       if (i > 0) {
-               j = write(sp->fd, sp->rcv + sp->rcv_ptr, i);
-               assert(j == i);
+       if (http_GetTail(sp->http, 99999999, &b, &e) && b != e) { /* XXX */
+               i = write(fd, b, e - b);
+               assert(i == e - b);
        }
-       }
-#endif
 
        e1.fd = fd;
        e2.fd = sp->fd;