Coverity #1129036 thinks we can get out of this code without unlocking
the cache_pool_lock.  I don't see it, but maybe Coverity is getting
confused by the name change?  Switch to initializing the local variable
before acquiring the lock, set/clear the is-locked variable in a couple
of places where there's code separating the lock/unlock calls, check the
is-locked variable in one place for clarity.  No real change, in other
words.