[master] 9ea9825 Send dynamically created backends a warm event if their VCL is warm.

Poul-Henning Kamp phk at FreeBSD.org
Tue Jul 7 22:17:41 CEST 2015


commit 9ea9825718082296a3f937c2fcd13c1f6f6f6feb
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Tue Jul 7 20:15:44 2015 +0000

    Send dynamically created backends a warm event if their VCL is warm.
    
    Based on patch from:  Dridi

diff --git a/bin/varnishd/cache/cache_backend_cfg.c b/bin/varnishd/cache/cache_backend_cfg.c
index 057dea4..e7301ac 100644
--- a/bin/varnishd/cache/cache_backend_cfg.c
+++ b/bin/varnishd/cache/cache_backend_cfg.c
@@ -140,7 +140,6 @@ void
 VBE_Event(struct backend *be, enum vcl_event_e ev)
 {
 
-	ASSERT_CLI();
 	CHECK_OBJ_NOTNULL(be, BACKEND_MAGIC);
 
 	if (ev == VCL_EVENT_WARM) {
diff --git a/bin/varnishd/cache/cache_vcl.c b/bin/varnishd/cache/cache_vcl.c
index 6df2a2f..7d87cb0 100644
--- a/bin/varnishd/cache/cache_vcl.c
+++ b/bin/varnishd/cache/cache_vcl.c
@@ -195,6 +195,11 @@ VCL_AddBackend(struct vcl *vcl, struct backend *be)
 	Lck_Lock(&vcl_mtx);
 	VTAILQ_INSERT_TAIL(&vcl->backend_list, be, vcl_list);
 	Lck_Unlock(&vcl_mtx);
+
+	if (vcl->temp == vcl_temp_warm) {
+		/* Only when adding backend to already warm VCL */
+		VBE_Event(be, VCL_EVENT_WARM);
+	}
 }
 
 void



More information about the varnish-commit mailing list