_setupDBs(): The oidqueue table used to do double-duty, both during
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.
Showing
Please register or sign in to comment