Preserve validation cancellation during reader shutdown

This commit is contained in:
2026-10-09 03:06:06 +00:00
parent 15dd58f5ac
commit 6eec022bb0
4 changed files with 69 additions and 7 deletions

View File

@@ -54,7 +54,8 @@ neighboring files. Each tree owns one lazy Git blob reader; direct tree users
must close it when finished. The shared validation executor closes its tree on
every return before product checks or build callbacks run. A metadata-only
selection never starts the reader. Per-read contexts cancel an in-flight blob
exchange without tying the reader lifetime to a short-lived caller context.
exchange. The context supplied when creating the tree governs the reader
lifetime, including shutdown and child reaping.
Regular-file reads return independent caller-owned byte slices and are not
retained by the tree. Symlink targets are retained as immutable owned strings
by blob object ID; explicitly reading a symlink still returns independent