unsigned char flags;
#define OC_F_ONLRU (1<<0)
#define OC_F_BUSY (1<<1)
+#define OC_F_PASS (1<<2)
unsigned timer_idx;
VTAILQ_ENTRY(objcore) list;
VTAILQ_ENTRY(objcore) lru_list;
struct ban *ban;
- unsigned pass;
-
unsigned response;
unsigned cacheable;
/*-
* Copyright (c) 2006 Verdens Gang AS
- * Copyright (c) 2006-2008 Linpro AS
+ * Copyright (c) 2006-2009 Linpro AS
* All rights reserved.
*
* Author: Poul-Henning Kamp <phk@phk.freebsd.dk>
sp->step = STP_RECV;
return (0);
case VCL_RET_PASS:
- sp->obj->pass = 1;
+ if (sp->obj->objcore != NULL)
+ sp->obj->objcore->flags |= OC_F_PASS;
if (sp->obj->ttl - sp->t_req < params->default_ttl)
sp->obj->ttl = sp->t_req + params->default_ttl;
break;
CHECK_OBJ_NOTNULL(sp->obj, OBJECT_MAGIC);
CHECK_OBJ_NOTNULL(sp->vcl, VCL_CONF_MAGIC);
- assert(!sp->obj->pass);
+ assert(!(sp->obj->objcore->flags & OC_F_PASS));
VCL_hit_method(sp);
return (0);
}
- if (sp->obj->pass) {
+ if (sp->obj->objcore->flags & OC_F_PASS) {
VSL_stats->cache_hitpass++;
WSP(sp, SLT_HitPass, "%u", sp->obj->xid);
HSH_Deref(&sp->obj);