https://bugs.winehq.org/show_bug.cgi?id=56459
--- Comment #6 from renatopereyra@google.com --- I sent my comment too soon. I forgot to mention two more things.
I also tested whether the buffering of stdout meant that the output to a file would be incomplete if a process is killed. I tried this by printing 8000 chars to stdout with the test app I shared and killing the process from the Windows Task Manager. I found that the characters after the first 4096 were written to the file when the process was killed. This means that it seems that Windows always flushes all output, even when the process is killed. This is different from Wine behavior too.
./wine [[your exec and args]] < /dev/null 2>&1 | cat -
3) The ordering of the output to the terminal appears to be stdout first and stderr second. They are not interleaved as I might have expected. Is it possible to interleave the output depending on the time the print actually happened?