mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-24 04:39:06 -05:00
fix: hold every data tree, present or not
export_native and cross_reference read data/ without the shared hold, so a refresh could swap a tree mid-walk. hold_data_dirs skipped a cache not yet on disk, so a refresh could install it between verify and the packs of one pipeline run. Both now hold every registered tree.
This commit is contained in:
1 parent
563ce1ebf2
commit
9bb1a73f91
4 files changed
+41
-3
No files matched your search
@@ -898,6 +898,17 @@ def main() -> None:
|
||||
require_platform(args.platform, args.platforms_dir)
|
||||
platforms = [args.platform]
|
||||
|
||||
if not args.refresh_cache:
|
||||
import contextlib
|
||||
|
||||
from refresh_data_dirs import hold_data_dirs
|
||||
|
||||
# Removal candidates are proved against data/: a refresh swapping a
|
||||
# tree mid-walk listed entries only that tree holds as removable.
|
||||
# The process exit releases the hold.
|
||||
held = contextlib.ExitStack()
|
||||
hold_data_dirs(held, load_data_dir_registry(args.platforms_dir))
|
||||
|
||||
sys.exit(
|
||||
run(
|
||||
platforms,
|
||||
|
||||
Reference in new issue
Block a user