The test is wrong, not the implementation of std.parallelism. finish(false) doesn't guarantee that the task won't be finished, it just means that the task *may* not be finished. IDK how this test made it in there. I'll make a pull request to get rid of it.
On Sat, Dec 8, 2012 at 5:59 AM, Masahiro Nakagawa <[email protected]>wrote: > I tested same configuration on Mac, but no failure. > Failed test seems to depend on machine state. > > static void slowFun() { Thread.sleep(dur!"msecs"(1)); } > auto pool1 = new TaskPool(); > auto tSlow = task!slowFun(); > pool1.put(tSlow); > pool1.finish(); > assert(!tSlow.done); > > Calling finish without true argument, finish doesn't wait the task. > So the result of tSlow.done depends on the timing. > > I don't understand the std.parallelism deeply, > but this failure may occurs on other environments. > > > Masahiro > > On Sat, Dec 8, 2012 at 3:37 PM, Alex Rønne Petersen <[email protected]> > wrote: > > See: > http://d.puremagic.com/test-results/test_data.ghtml?runid=36650&logid=6 > > > > Does anyone have the time to investigate this? > > > > Thanks, > > Alex > > _______________________________________________ > > phobos mailing list > > [email protected] > > http://lists.puremagic.com/mailman/listinfo/phobos > _______________________________________________ > phobos mailing list > [email protected] > http://lists.puremagic.com/mailman/listinfo/phobos >
_______________________________________________ phobos mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/phobos
