0f0f2f4aa1426fcffd9cfdd23e4132669f9e286d
The shared fork/exec/wait helper collapsed every non-zero child exit to 1, so `ww_ww run <prog>` lost the program's real exit status (return 42 -> exit 1). The C ww driver's do_run returns WEXITSTATUS(status) — the exact code. procrun now returns the real exit code instead of folding to 1; signal kill still returns 1 and fork/wait failure still returns -1, matching do_run. procrun is shared with the build-step callers (w6c/w6a/w6l), but they only test `!= 0` (success vs failure), so a real non-zero code is still `!= 0` — they are unaffected. dorun's final exec then reports the true program exit code. Driver behavior is not under byte-id (993 pins build_one output bytes, not wait-status handling); 993 extended with table-driven run exit-code rows (0/7/42) that fail under the old collapse-to-1.
Description
No description provided
Languages
C
89.4%
Python
7.2%
Makefile
2.3%
Shell
0.8%
Assembly
0.3%