Child crashes when the backend is down

Poul-Henning Kamp phk at
Wed May 2 09:34:16 CEST 2007

In message <ujrejm0v0nj.fsf at>, Dag-Erling =?iso-8859-1?Q?Sm=F8rgrav?= writes:

>This is probably what's killing my customer up north:

>There is no o->objhead because no object was ever retrieved and
>Fetch() returned early.
>Why is o->busy protected by o->objhead->mtx?  Why not have a mutex
>directly in struct object instead?

o->busy is protected by the objhead mutex because otherwise we would have
to grab all the objects mutexes in the hash lookup.

The busy flag is very seldomly manipulated, and this is much more efficient.

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