fix: reports hold the data trees they read

generate_readme, generate_site and slots resolve against data/ but took no hold when run on their own, as the documented commands do. A refresh swapping a tree mid-read then gave counts from half of it. Each now holds the trees shared, like verify and the builder.
This commit is contained in:
Abdessamad Derraz committed 2026-10-20 00:32:26 +02:00
1 parent aea67e998f
commit 7e23815545
4 files changed
+50 -2

No files matched your search

+10
View File
@@ -894,6 +894,16 @@ def main() -> int:
)
args = parser.parse_args()
import contextlib
from common import load_data_dir_registry
from refresh_data_dirs import hold_data_dirs
# Claims resolve against data/: the trees stay put until the process
# ends, which releases the hold.
held = contextlib.ExitStack()
hold_data_dirs(held, load_data_dir_registry(args.platforms_dir))
db = load_database(args.db)
profiles = load_emulator_profiles(args.emulators_dir)
if args.platform: