• Nils Goroll's avatar
    Flush until it's all down the drain · 32a9fd9f
    Nils Goroll authored
    VSLQ_Flush() vtx_force()s all incomplete transactions to be ready and calls
    vslq_process_ready().
    
    vslq_process_ready() retires vtxes until the callback returns with non zero,
    so if our dispatch callback does return with an error, flushing will stop,
    so we may end up with a non-empty ready list in vslq after calling flush
    just once.
    
    To ensure that we flushed everything and vtx_retire()d all vtxes
    (which may contain refs to chunk_t_bufs living in malloc()ed memory),
    we need to keep on flushing until we know the bowl is empty.
    32a9fd9f
child.c 31.6 KB