On Tuesday, 8 June 2021 at 13:51:10 UTC, Steven Schveighoffer wrote:
> On 6/8/21 8:38 AM, seany wrote:
>> I have compiled a complex project via `dub build`.
>> I used both `-b release` and `-b debug`.
>> But i cant redirect the output (generated by `writeln`) to a file.
>> I call by : `./executable --param p1 > a`. But execution hangs immediately. If I do `./executable --param p1 ` no issue.
>> What am I doing wrong?
>> thank you.
> Are you expecting input as well as sending output?
> A common behavior difference between console streams and file streams (including in D) is that when the library detects it's sending to a console, it flushes buffered output after every newline. When it's sending to a file (or other stream type), it only sends output when the buffer is full (usually about 4k bytes).
> The hang sounds like it has buffered up its output ready to send, and then is waiting for input to continue.
Thank you for pointing this out.
Indeed, much later in the code, there is a `readln()`.
But, the program needs to run 1-2 minutes, until it reaches that point - it is doing a complex AI calculation.
However, for these 1-2 minutes, there is no output. Not via `tee`command, also not when i do a `tail -f a` (`a` is the logfile as in my last mail). I expect the output of these 1-2 minutes, until the `readln` point to be visible via either of these to methods.
Is it still the same case as you describe?