r2012 - trunk/varnish-cache/bin/varnishd
cecilihf at projects.linpro.no
cecilihf at projects.linpro.no
Mon Sep 24 15:18:04 CEST 2007
Author: cecilihf
Date: 2007-09-24 15:18:04 +0200 (Mon, 24 Sep 2007)
New Revision: 2012
Modified:
trunk/varnish-cache/bin/varnishd/cache_backend.c
trunk/varnish-cache/bin/varnishd/cache_backend_random.c
trunk/varnish-cache/bin/varnishd/cache_backend_round_robin.c
Log:
Fixes bug #161.
Modified: trunk/varnish-cache/bin/varnishd/cache_backend.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_backend.c 2007-09-24 13:00:33 UTC (rev 2011)
+++ trunk/varnish-cache/bin/varnishd/cache_backend.c 2007-09-24 13:18:04 UTC (rev 2012)
@@ -309,16 +309,25 @@
CHECK_OBJ_NOTNULL(b, BACKEND_MAGIC);
}
-/* Update health ----------------------------------------------*/
-
+/* Update health ----------------------------------------------------*/
+/* See cache_backend_random.c and/or cache_backend_round_robin.c for
+ * details and comments about this function.
+ */
void
VBE_UpdateHealth(struct sess *sp, struct vbe_conn *vc, int a)
{
struct backend *b;
- CHECK_OBJ_NOTNULL(vc, VBE_CONN_MAGIC);
- CHECK_OBJ_NOTNULL(vc->backend, BACKEND_MAGIC);
- b = vc->backend;
+ if (vc != NULL) {
+ CHECK_OBJ_NOTNULL(vc, VBE_CONN_MAGIC);
+ CHECK_OBJ_NOTNULL(vc->backend, BACKEND_MAGIC);
+ b = vc->backend;
+ }
+ else {
+ CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
+ CHECK_OBJ_NOTNULL(sp->backend, BACKEND_MAGIC);
+ b = sp->backend;
+ }
AN(b->method);
if(b->method->updatehealth != NULL)
b->method->updatehealth(sp, vc, a);
Modified: trunk/varnish-cache/bin/varnishd/cache_backend_random.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_backend_random.c 2007-09-24 13:00:33 UTC (rev 2011)
+++ trunk/varnish-cache/bin/varnishd/cache_backend_random.c 2007-09-24 13:18:04 UTC (rev 2012)
@@ -397,6 +397,10 @@
/*--------------------------------------------------------------------*/
+/* This should maybe be divided into two separate functions. One for
+ * increasing/decreasing health, and one for "pulling" the health
+ * towards neutral (0) as time passes
+ */
static void
ber_UpdateHealth(struct sess *sp, struct vbe_conn *vc, int add)
{
Modified: trunk/varnish-cache/bin/varnishd/cache_backend_round_robin.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_backend_round_robin.c 2007-09-24 13:00:33 UTC (rev 2011)
+++ trunk/varnish-cache/bin/varnishd/cache_backend_round_robin.c 2007-09-24 13:18:04 UTC (rev 2012)
@@ -382,6 +382,10 @@
/*--------------------------------------------------------------------*/
+/* This should maybe be divided into two separate functions. One for
+ * increasing/decreasing health, and one for "pulling" the health
+ * towards neutral (0) as time passes
+ */
static void
brr_UpdateHealth(struct sess *sp, struct vbe_conn *vc, int add)
{
More information about the varnish-commit
mailing list