• Dridi Boukelmoune's avatar
    Kill goto statements in vmod-shard · fda04bf3
    Dridi Boukelmoune authored
    With that, (almost) only libvgz carries goto statements from zlib.
    
    This isn't changing any of the previous semantics, in particular the
    AN(be) assertion from the "ok:" jump is honored by all code paths
    formerly leading to it.
    
    Previously, the bitmap was allocated on the stack prior to the magic
    check of shardd, which is now fixed at the expense of a potential code
    style violation. But more importantly, we currently read the number of
    backends prior to acquiring the read lock, but there is no evidence
    that this was done on purpose and not overlooked, besides moving a
    possibly expensive state initialization outside of the critical
    section.
    
    If that was on purpose, please document it.
    fda04bf3
shard_dir.c 11 KB