Assertion failure in VCL_DelBackend()

Dridi Boukelmoune dridi at varni.sh
Mon Nov 16 23:31:40 CET 2015


>>If it were up to me I'd simply remove everything that doesn't start
>>with VRT_, except of course symbols from libvarnish* and related data
>>structures :)
>
> No.
>
> The plan here is to offer two levels of API:
>
> If you stick with VRT functions, porting your VMOD should be piece
> of cake.
>
> If you need to do something more advanced, you get what you ask for.

I take back what I said, I am well aware of this fact. And I actually
have questions about other non-VRT APIs that I will bring up at some
point.

>>I don't even know how you would delete the backend without breaking
>>the type system.
>
> That is *exactly* what I'm talking about.
>
> When VCL types have underlying C types that require manual memory
> management (ie: BLOB, BACKEND ...) we need to do manual memory
> management, and we need to have a coherent and *understandable*
> architecture for it.

I get this point, and in this case it was about deleting a backend
that is already managed by the VCL, which I don't think is coherent.



More information about the varnish-dev mailing list