VCC backend functions should need busyobject argument

Poul-Henning Kamp phk at
Sat Dec 5 18:34:35 CET 2015

In message <5661B886.1020107 at>, Nils Goroll writes:

>The director VMOD backend functions can return their own object, in which case
>the resolve function will choose the "real" backend when an actual backend
>request is about to be issued. Alternatively, they can resolve (choose a
>backend) immediately and return a reference to a "real" backend object (or the
>next level down).
>For the latter way, there is no struct busyobj passed down, and
>we probably need to change that - otherwise stacking directors
>with vmod_saintmode won't work.

Uhm...  both dir->resolve() and dir->gethdrs() take a BO argument:

    typedef const struct director *vdi_resolve_f(const struct director *,
        struct worker *, struct busyobj *);

    typedef int vdi_gethdrs_f(const struct director *, struct worker *,
        struct busyobj *);

Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

More information about the varnish-dev mailing list