]> err.no Git - varnish/commitdiff
Be more consistent about which headers we send back.
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Wed, 28 Jun 2006 17:46:04 +0000 (17:46 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Wed, 28 Jun 2006 17:46:04 +0000 (17:46 +0000)
Start 5 threads in the worker pool.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@258 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/cache.h
varnish-cache/bin/varnishd/cache_acceptor.c
varnish-cache/bin/varnishd/cache_fetch.c
varnish-cache/bin/varnishd/cache_pool.c

index 8425d9b1145af38bbcba0e1e7e6dbc536879e785..f2861d69a32d3dc43b7c44595d997eb0c726a1a3 100644 (file)
@@ -135,7 +135,7 @@ struct backend {
 
 /* cache_acceptor.c */
 void vca_write(struct sess *sp, void *ptr, size_t len);
-void vca_write_obj(struct sess *sp, struct sbuf *hdr);
+void vca_write_obj(struct sess *sp, const char *b, unsigned l);
 void vca_flush(struct sess *sp);
 void vca_return_session(struct sess *sp);
 void vca_close_session(struct sess *sp, const char *why);
index 281d56c14592d461577ab0156a45bd5d894002df..33dd1f94eb59265a7853d28b4ce528d0c2827a52 100644 (file)
@@ -85,12 +85,14 @@ vca_write(struct sess *sp, void *ptr, size_t len)
 }
 
 void
-vca_write_obj(struct sess *sp, struct sbuf *hdr)
+vca_write_obj(struct sess *sp, const char *b, unsigned l)
 {
        struct storage *st;
        unsigned u = 0;
 
-       vca_write(sp, sbuf_data(hdr), sbuf_len(hdr));
+       if (l == 0)
+               l = strlen(b);
+       vca_write(sp, b, l);
        TAILQ_FOREACH(st, &sp->obj->store, list) {
                u += st->len;
                if (st->stevedore->send != NULL)
index 1eb3735e3e31733f0ec7f1162023bb7ad9400081..ed55ec46a975585297af2b676c751f424b56144d 100644 (file)
@@ -306,7 +306,7 @@ FetchSession(struct worker *w, struct sess *sp)
        sbuf_finish(w->sb);
        sp->obj->header = strdup(sbuf_data(w->sb));
 
-       vca_write_obj(sp, w->sb);
+       vca_write_obj(sp, sp->obj->header, 0);
 
        if (http_GetHdr(hp, "Connection", &b) && !strcasecmp(b, "close"))
                cls = 1;
index 4699a3d854a849c4ee9dafba5985db10cca72fa9..3fd10e2ada6a1594dc80b15408ad494d19a0b2d6 100644 (file)
@@ -45,13 +45,8 @@ static int
 DeliverSession(struct worker *w, struct sess *sp)
 {
 
-       sbuf_clear(w->sb);
-       sbuf_printf(w->sb,
-           "%sServer: Varnish\r\n"
-           "Content-Length: %u\r\n"
-           "\r\n", sp->obj->header, sp->obj->len);
 
-       vca_write_obj(sp, w->sb);
+       vca_write_obj(sp, sp->obj->header, 0);
        HSH_Deref(sp->obj);
        sp->obj = NULL;
        return (1);
@@ -147,9 +142,11 @@ void
 CacheInitPool(void)
 {
        pthread_t tp;
+       int i;
 
        AZ(pthread_cond_init(&shdcnd, NULL));
 
-       AZ(pthread_create(&tp, NULL, CacheWorker, NULL));
+       for (i = 0; i < 5; i++)
+               AZ(pthread_create(&tp, NULL, CacheWorker, NULL));
        AZ(pthread_detach(tp));
 }