• Nils Goroll's avatar
    fellow: fini stevedore_priv / call fellow_busy_done() also for objfree · e56ad383
    Nils Goroll authored
    This bug was also present in varnish-cache (will document) and found
    its way into fellow through the api-definition-by-example paradigm of
    varnish-cache:
    
    In varnish-cache vbf_stp_error(), an existing storage object is freed
    to be replaced with a new one, potentially from a different storage
    (usually -sTransient).
    
    In this case, ObjBocDone is not called, because the boc is to be
    preserved - from the client's perspective, the backend transaction is
    still in progress, and the client is waiting for the busy object to
    finish.
    
    At the storage level, however, the process of creation of a new object
    _is_ finished, and any busy object state which the storage might keep
    needs to be finalized.
    
    So, if oc->boc is not NULL for an ObjFreeObj() call, the stevedore
    needs to finish any busy object transaction.
    
    Fixes #14
    e56ad383
Name
Last commit
Last update
LICENSES Loading commit data...
src Loading commit data...
.editorconfig Loading commit data...
.gitignore Loading commit data...
COPYING Loading commit data...
INSTALL.rst Loading commit data...
Makefile.am Loading commit data...
README.rst Loading commit data...
bootstrap Loading commit data...
configure.ac Loading commit data...