]> err.no Git - varnish/commit
Assert that LRU_DiscardOne() returns 1, to avoid an unlikely but possible
authordes <des@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 17 Jul 2007 17:06:12 +0000 (17:06 +0000)
committerdes <des@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 17 Jul 2007 17:06:12 +0000 (17:06 +0000)
commitc1d7fb60f3eff9b9d40d28a27e41450d3b20d50c
tree32062858a70a1bb7626b92967f6c9c22dbc9adc0
parentff5ecb21da941cccee9dd9506c539c5801369716
Assert that LRU_DiscardOne() returns 1, to avoid an unlikely but possible
scenario where multiple clients each require different objects such that
the sum of the sizes of the objects is larger than the cache (or, in the
extreme case, one client requests an object which is larger than the
cache) causing STV_alloc() to enter an infinite loop.

This is not ideal - a better solution would be return NULL and have the
caller deal with the problem, possibly by returning a 503 result, or by
stalling the request for some time.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1714 d4fa192b-c00b-0410-8231-f00ffab90ce4
varnish-cache/bin/varnishd/stevedore.c