On Thursday, 4 September 2014 at 15:10:22 UTC, Jorge A. S. wrote:
I'm having an error related to yours: when I call writeln function in a closed stdout I will get a segfault message. Example:import std.stdio; void main() { stdout.close(); write("hello\n"); }The code above will crash with segfault buf the following code will raise an exception instead:import std.stdio; void main() { stdout.close(); stdout.write("hello\n"); }In one of the specializations of the write function in the std.stdio (the call site that you showed in your post) no check for closed stdout (when stdout._p is null) is done. I can't say if this is a bug in the write function or the desired behaviour (I'm a novice here).
With DMD of git master, the latter code seems to raise Exception (stdio.d(2247): Enforcement failed) instead of segfault.
