summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-servers/varnish/files/varnish-2.0.1-fix-ESI-coredump.diff')
-rw-r--r--www-servers/varnish/files/varnish-2.0.1-fix-ESI-coredump.diff86
1 files changed, 0 insertions, 86 deletions
diff --git a/www-servers/varnish/files/varnish-2.0.1-fix-ESI-coredump.diff b/www-servers/varnish/files/varnish-2.0.1-fix-ESI-coredump.diff
deleted file mode 100644
index 1dd4e2e59406..000000000000
--- a/www-servers/varnish/files/varnish-2.0.1-fix-ESI-coredump.diff
+++ /dev/null
@@ -1,86 +0,0 @@
-diff -Naur varnish-2.0.1.orig/bin/varnishd/cache_hash.c varnish-2.0.1/bin/varnishd/cache_hash.c
---- varnish-2.0.1.orig/bin/varnishd/cache_hash.c 2008-10-17 20:59:49.000000000 +0200
-+++ varnish-2.0.1/bin/varnishd/cache_hash.c 2008-10-23 21:00:29.000000000 +0200
-@@ -266,7 +266,8 @@
-
- if (busy_o != NULL) {
- /* There are one or more busy objects, wait for them */
-- VTAILQ_INSERT_TAIL(&oh->waitinglist, sp, list);
-+ if (sp->esis == 0)
-+ VTAILQ_INSERT_TAIL(&oh->waitinglist, sp, list);
- sp->objhead = oh;
- UNLOCK(&oh->mtx);
- return (NULL);
-diff -Naur varnish-2.0.1.orig/bin/varnishd/cache_vrt_esi.c varnish-2.0.1/bin/varnishd/cache_vrt_esi.c
---- varnish-2.0.1.orig/bin/varnishd/cache_vrt_esi.c 2008-10-17 20:59:49.000000000 +0200
-+++ varnish-2.0.1/bin/varnishd/cache_vrt_esi.c 2008-10-23 20:59:35.000000000 +0200
-@@ -796,7 +796,6 @@
- void
- ESI_Deliver(struct sess *sp)
- {
--
- struct esi_bit *eb;
- struct object *obj;
-
-@@ -839,7 +838,16 @@
- sp->step = STP_RECV;
- http_ForceGet(sp->http);
- http_Unset(sp->http, H_Content_Length);
-- CNT_Session(sp);
-+ while (1) {
-+ CNT_Session(sp);
-+ if (sp->step == STP_DONE)
-+ break;
-+ AN(sp->wrk);
-+ WSL_Flush(sp->wrk, 0);
-+ DSL(0x20, SLT_Debug, sp->id, "loop waiting for ESI");
-+ usleep(10000);
-+ }
-+ assert(sp->step == STP_DONE);
- sp->esis--;
- sp->obj = obj;
-
-diff -Naur varnish-2.0.1.orig/varnishtest/tests/r00345.vtc varnish-2.0.1/varnishtest/tests/r00345.vtc
---- varnish-2.0.1.orig/varnishtest/tests/r00345.vtc 1970-01-01 01:00:00.000000000 +0100
-+++ varnish-2.0.1/varnishtest/tests/r00345.vtc 2008-10-23 20:56:40.000000000 +0200
-@@ -0,0 +1,40 @@
-+# $Id: varnish-2.0.1-fix-ESI-coredump.diff,v 1.1 2008/10/23 19:30:05 bangert Exp $
-+
-+test "#345, ESI waitinglist trouble"
-+
-+server s1 {
-+ rxreq
-+ txresp -body {<esi:include src="someurl">}
-+ rxreq
-+ sema r1 sync 2
-+ delay 1
-+ txresp -body {DATA}
-+} -start
-+
-+varnish v1 -arg "-p diag_bitmap=0x20" -vcl+backend {
-+ sub vcl_fetch {
-+ if (req.url == "/") {
-+ esi;
-+ }
-+ }
-+} -start
-+
-+client c1 {
-+ txreq
-+ rxresp
-+ expect resp.bodylen == 4
-+} -start
-+
-+client c2 {
-+ txreq
-+ sema r1 sync 2
-+ rxresp
-+ expect resp.bodylen == 4
-+} -run
-+
-+client c1 {
-+ txreq
-+ rxresp
-+ expect resp.bodylen == 4
-+} -run
-+