You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(openssl/windows): run vcvars in a CHILD cmd — it terminates its caller
Three runs in a row ended the same way, and the CRLF change did not move it:
[bat] vspath=C:\Program Files\Microsoft Visual Studio\18\Enterprise
** Visual Studio 2026 Developer Command Prompt v18.8.2
[vcvarsall.bat] Environment initialized for: 'x64'
<nothing>
vcvars SUCCEEDS and then the script is gone: no further echo, no RESULT, exit 0.
Visual Studio's developer-prompt script terminates the batch that calls it, so
no amount of error handling after the `call` can ever run — the previous commit
blamed line endings, and this run disproves that (it ran with CRLF and behaved
identically).
The fix is structural rather than another guess at how vcvars exits: the build
moves into a second script invoked as `cmd /c <inner.bat>`. vcvars can then only
take that CHILD process down, while the outer script survives to record
RESULT=%errorlevel%. The vcvars path travels by environment variable instead of
as an argument, because a child cmd inherits the environment and that avoids
another layer of quoting around a path containing spaces.
The inner script keeps the same exit codes (13 vcvars, 14 cd, 20/21/22
Configure/nmake/install_sw) and the same per-step logging, so the next failure —
if there is one — still names itself.
0 commit comments