-
Nils Goroll authored
... potentially saving a lock/unlock on the critical vcl_mtx Both callers of vcl_get(), VPI_vcl_select() and VCL_Refresh(), potentially have to unref another vcl first. For VCL_Refresh(), this happens when the active vcl changes and the previously active vcl is cached in (struct worker).vcl, which can be assumed to always be the case on a busy system. For VPI_vcl_select(), this happens when switching vcls at esi_level > 0. To summarize, this patch will primarily reduce contention on the vcl_mtx after a 'vcl.use' CLI command on a busy system and for 'return(vcl(...))' with ESI.
82eb7693