• Nils Goroll's avatar
    Give VPI its private struct in the worker · a8483cf5
    Nils Goroll authored
    (struct vrt_ctx).handling is a special animal: As seen by VGC, struct
    vrt_ctx is const (and rightly so), yet VCL needs to have a way to
    communicate up to core code the return value from subs.
    
    So, handling was a (non-const) pointer into struct worker. This is all
    good and well, with the minor drawback that VMODs would get to see it,
    while we should make it very clear that they have to go through
    VRT_handling() / VRT_handled() and know the rules (no reset of
    handling).
    
    As we now want to move also the vpi count into "the ctx", before adding
    another unsigned pointer, we introduce struct wrk_vpi, provided by the
    worker, but owned by vpi.
    
    With this change, we thus formalize the vpi count requirement and also
    remove the handling variable from vmods' direct line of sight.
    
    This commit comprises the manual changes which either could not be or
    were not worth being automated.
    
    The next two commits contain a coccinelle script to do the rest of the
    work, and the reult of it.
    a8483cf5
vmod_debug_dyn.c 6.87 KB