If stdout is __gshared, why does this throw / crash?
Atila Neves via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Mar 5 06:18:31 PST 2016
With a small number of threads, things work as intended in the
code below. But with 1000, on my machine it either crashes or
throws an exception:
import std.stdio;
import std.parallelism;
import std.range;
void main() {
stdout = File("/dev/null", "w");
foreach(t; 1000.iota.parallel) {
writeln("Oops");
}
}
I get, depending on the run, "Bad file descriptor", "Attempting
to write to a closed file", or segfaults. What am I doing wrong?
Atila
More information about the Digitalmars-d-learn
mailing list