• Barry Warsaw's avatar
    _setupDBs(): The oidqueue table used to do double-duty, both during · 71f1008d
    Barry Warsaw authored
    the mark phase and during the sweep phase.  But this doesn't play
    nicely with the escape hatch for pack, since if we raise a PackStop,
    it's fine if we truncate the mark queue but not if we truncate the
    sweep queue.  So the latter is now separated into the delqueue table.
    
    Also, use the new extended _setupDB() arguments for the DB_QUEUE
    tables.
    
    close(): We can really simplify this and make it more robust for when
    we add new tables, by relying on the fact that the base class
    maintains its own list of opened tables, and the base class close()
    method closes them in turn.
    
    autopack(): Default the gc argument to False.
    
    _collect_revs(), _collect_objs(), _mark(), _sweep(): Add an escape
    hatch for the pack operation inside the inner loops of each of these
    methods.  That way, we don't have to wait until the loops are finished
    to exit the pack operation, if stop() has been requested by the main
    thread.
    
    AUTOPACK_CHECK_SLEEP removed.
    
    _Autopack: Use the _WorkThread base class.
    71f1008d
Full.py 80.3 KB