diff options
| author | Brad King <brad.king@kitware.com> | 2021-10-21 14:47:39 (GMT) |
|---|---|---|
| committer | Brad King <brad.king@kitware.com> | 2021-10-21 14:47:39 (GMT) |
| commit | b7863da78fec29d193819b77970f53b62730a4a5 (patch) | |
| tree | 06b20f40d0bf97a4e951bd94cdd643815f15642d /Help/guide/tutorial/Step12/MathFunctions | |
| parent | e1acb03cd9b53fe81dd9e1696ac293ae5ba468cc (diff) | |
| download | CMake-b7863da78fec29d193819b77970f53b62730a4a5.zip CMake-b7863da78fec29d193819b77970f53b62730a4a5.tar.gz CMake-b7863da78fec29d193819b77970f53b62730a4a5.tar.bz2 | |
ci: Avoid OpenWatcom linker temp file collisions
When `wlink` needs to spill into a temporary file, code in `spillio.c`
checks environment variables `WLINKTMP`, `TMP`, and `TMPDIR` to get a
directory for temporary files. It searches for a name `WLK02112.xx*`
that doesn't exist, where `*` starts at `a` and increments. Then it
opens the file with the chosen name. This can race among concurrent
`wlink` invocations that may all chose the same name before opening,
and causes errors like:
Error! E3008: cannot open C:\...\Temp\WLK02112.xxa : Permission denied
Since `wmake` does not run parallel jobs, this normally isn't a problem.
However, our test suite runs multiple tests in parallel. Each test has
its own `wmake` invocation, and therefore can run `wlink` concurrently.
Set `WLINKTMP=.` in the environment to tell each `wlink` to place
temporary files in its own working directory, which will be different
for each separate `wmake` invocation in our test suite.
Diffstat (limited to 'Help/guide/tutorial/Step12/MathFunctions')
0 files changed, 0 insertions, 0 deletions
