On Mon Apr 25 06:10:50 2016, sml...@gmail.com wrote:
> The following works fine:
> 
> for (^100).race(batch=>1) {  {1 + $^a}(10)  }
> 
> But the following pretty reliably crashes:
> 
> for (^100).race(batch=>1) {  {1 + $^a}.assuming(10)()  }
> 
> If even crashes when EVAL is used to make sure each thread has a
> completely different closure:
> 
> for (^100).race(batch=>1) {  EVAL(q[ ({1 + $^a}) ]).assuming(10)()  }
> 
I believe `assuming` uses `EVAL` under the hood, and that it's `EVAL` having 
reentrancy issues that is at the heart of it. So adding an extra `EVAL` is only 
making it worse. (And yes, this is fairly high on my list of stuff to hunt down 
and fix.)
/jnthn

Reply via email to