Find the stale-pid test's registry by its members
test-registry-stale-pid failed on main (https://github.com/sysprog21/elfuse/actions/runs/38861780525) with "expected one new registry ... saw 'elfuse-procs-10730122573492932859 elfuse-procs-17723615197976724426'". Concurrent runners of the same user share DARWIN_USER_TEMP_DIR, so the recipe's "the one new elfuse-procs-* file" picked up a registry from another lane. The recipe now keeps only a new registry holding records for the family root and one of its children, and the READY wait follows TEST_TIMEOUT instead of a fixed 5 seconds.
The first commit folds the four confstr(_CS_DARWIN_USER_TEMP_DIR) path builders in src/syscall/proc.c into one helper. It changes no file name and no failure path.
Verified on macOS Apple Silicon: make check passes; test-registry-stale-pid passes alone and with four copies run at once, the case that failed in CI; make check-format and make check-ascii are clean.
Summary by cubic
Fixes the stale-pid registry test failing on macOS CI, where concurrent runners shared DARWIN_USER_TEMP_DIR and the test picked up a registry from another lane.
The recipe now selects the new registry by its contents (records for the family root and one child) instead of by being the only new file, and the READY wait follows TEST_TIMEOUT, falling back to a fixed 5 seconds when TEST_TIMEOUT=0 (which timeout(1) treats as no limit). Refactors the four confstr(_CS_DARWIN_USER_TEMP_DIR) path builders in src/syscall/proc.c into one private_tmp_path helper, keeping file names, bounds checks, and fail-closed returns unchanged.