[master] 94693bf Properly update the OC_EF_EXP flag and only poke if it is set.
Poul-Henning Kamp
phk at FreeBSD.org
Tue Feb 9 01:19:12 CET 2016
commit 94693bf97407a990a931827a81cbdd0a5bd2cace
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Mon Feb 8 23:31:38 2016 +0000
Properly update the OC_EF_EXP flag and only poke if it is set.
diff --git a/bin/varnishd/cache/cache_expire.c b/bin/varnishd/cache/cache_expire.c
index 2e71c83..40fe1a1 100644
--- a/bin/varnishd/cache/cache_expire.c
+++ b/bin/varnishd/cache/cache_expire.c
@@ -135,7 +135,8 @@ EXP_Poke(struct objcore *oc)
{
CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC);
- exp_mail_it(oc, 0);
+ if (oc->exp_flags & OC_EF_EXP)
+ exp_mail_it(oc, 0);
}
/*--------------------------------------------------------------------
@@ -246,6 +247,7 @@ exp_inbox(struct exp_priv *ep, struct objcore *oc, unsigned flags)
oc->timer_when, oc->flags);
if (oc->flags & OC_F_DYING) {
+ oc->exp_flags &= OC_EF_EXP;
VSLb(&ep->vsl, SLT_ExpKill, "EXP_Kill p=%p e=%.9f f=0x%x", oc,
oc->timer_when, oc->flags);
if (!(flags & OC_EF_INSERT)) {
@@ -309,6 +311,7 @@ exp_expire(struct exp_priv *ep, double now)
return (oc->timer_when);
VSC_C_main->n_expired++;
+ oc->exp_flags &= OC_EF_EXP;
if (!(oc->flags & OC_F_DYING))
HSH_Kill(oc);
More information about the varnish-commit
mailing list