diff --git a/bin/varnishd/cache/cache_vcl.c b/bin/varnishd/cache/cache_vcl.c index 29d4b459fee..90e41ece8f1 100644 --- a/bin/varnishd/cache/cache_vcl.c +++ b/bin/varnishd/cache/cache_vcl.c @@ -594,9 +594,9 @@ vcl_set_state(struct vcl *vcl, const char *state, struct vsb **msg) if (vcl->busy == 0 && vcl->temp->is_warm) { vcl->temp = VTAILQ_EMPTY(&vcl->ref_list) ? VCL_TEMP_COLD : VCL_TEMP_COOLING; + vcl_BackendEvent(vcl, VCL_EVENT_COLD); AZ(vcl_send_event(vcl, VCL_EVENT_COLD, msg)); AZ(*msg); - vcl_BackendEvent(vcl, VCL_EVENT_COLD); } else if (vcl->busy) vcl->temp = VCL_TEMP_BUSY; diff --git a/include/vrt.h b/include/vrt.h index 2a478b37249..f5ea03bc5b9 100644 --- a/include/vrt.h +++ b/include/vrt.h @@ -59,6 +59,7 @@ * * NEXT (2024-03-15) * [cache.h] (struct req).filter_list renamed to vdp_filter_list + * order of vcl/vmod and director COLD events reversed to directors first * 18.1 (2023-12-05) * vbf_objiterate() implementation changed #4013 * 18.0 (2023-09-15)