Parallel.ForEach( 0, High(filters) )
.OnStop( procedure
begin
<...>
end )
.Execute( procedure(const task: IOmniTask; const Index: Integer )
begin
<...>
end );
The OnStop delegate is never executed if the machine is having just one core
and the task is always nil (I think this is by design).
I think the problem is in TOmniParallelLoopBase.InternalExecuteTask the main if
execute the taskdelagate(nil) without executing the onstop.
This means that a program that is running fine on a multicore machine will have
a different behaviour on a single core machine.
Original issue reported on code.google.com by tommaso....@vizubi.com on 16 Sep 2013 at 1:29
Original issue reported on code.google.com by
tommaso....@vizubi.com
on 16 Sep 2013 at 1:29