Description
Attached is a test.zip file with a simple script and some dependency files:
{.compile: "HanjaDic.cxx".}
{.passC: "-DWIN32_LEAN_AND_MEAN -I.".}
This issue was found while wrapping Scintilla on Windows. I was unable to create a simpler example so all the code does is compiles the HanjaDic.cxx
file which fails due to -DWIN32_LEAN_AND_MEAN
being set. Without the -D, it works fine. If you directly run the Nim generated g++ command, it works fine and shows the g++ compiler errors on the console.
If you run it within Nim, it hangs forever. It seems the execProcesses()
call has some race condition such that the child process is waiting forever. If you kill the child process in task manager, Nim immediately shows the errors on the console. Using CTRL-C on Nim simply kills the process tree and nothing is displayed.
This works just fine in 0.17.2. After that, there were several changes made to execProcesses()
which are suspect in this issue.
cc @cheatfate who worked on those changes.