]> err.no Git - varnish/commit
When during a lookup we encounter a busy object, queue the session on
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Fri, 14 Jul 2006 13:33:26 +0000 (13:33 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Fri, 14 Jul 2006 13:33:26 +0000 (13:33 +0000)
commitc2f15afdcf0fec88ce9db44c5e79fb60a23062f7
treed6151a8d99379a238a9502942045de463dc267bd
parent84a120f41a0629a9d6f23e1b3cc2769522fe8005
When during a lookup we encounter a busy object, queue the session on
the objects waitinglist and disembark the worker thread so it can do
something sensible in the mean time.

This feature is unimportant in normal operation, but crucial to
resource management if a popular URL suddenly takes a long time to
reply from the backend.

Without this bit if semi-nasty code, we would tie up one worker
thread per client while waiting for the backend to come to it's
senses.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@478 d4fa192b-c00b-0410-8231-f00ffab90ce4
varnish-cache/bin/varnishd/cache.h
varnish-cache/bin/varnishd/cache_acceptor.c
varnish-cache/bin/varnishd/cache_center.c
varnish-cache/bin/varnishd/cache_hash.c
varnish-cache/bin/varnishd/cache_pool.c
varnish-cache/bin/varnishd/steps.h