Bug? taskPool.map() with bufSize and writeln() gets stuck
Ali Çehreli
acehreli at yahoo.com
Fri Feb 10 10:28:26 PST 2012
Ubuntu 11.10 64-bit dmd.
The following program gets stuck during the writeln() call.
- The foo() call alone works fine.
- The program works fine when there is no writeln() call nor foo() call.
All elements get processed in that case and the results are ignored.
Am I using taskPool.map incorrectly or is this a bug?
import std.stdio;
import std.parallelism;
import core.thread;
int func(int i)
{
writeln("processing ", i);
return i;
}
void main()
{
auto results = taskPool.map!func([1,2,3,4,5,6,7,8], 2);
writeln(results); // <-- Gets stuck
foo(results); // this works fine
}
void foo(R)(R range)
{
for ( ; !range.empty; range.popFront()) {
writeln(range.front);
}
}
Thank you,
Ali
More information about the Digitalmars-d-learn
mailing list