Concurrency Confusion

"岩倉 澪" via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Aug 10 15:21:16 PDT 2015


On Saturday, 8 August 2015 at 06:24:30 UTC, sigod wrote:
> Use negative value for `receiveTimeout`. 
> http://stackoverflow.com/q/31616339/944911

actually this no longer appears to be true?
Passing -1.msecs as the duration gives me an assertion failure:

>core.exception.AssertError at std/concurrency.d(1902): Assertion 
>failure

Took a look in phobos and it appears to be from this line:
https://github.com/D-Programming-Language/phobos/blob/master/std/concurrency.d#L1904

If you look at the implementation of receiveTimeout, you'll see 
that it no longer has these lines from the stack overflow answer:

     if( period.isNegative || !m_putMsg.wait( period ) )
     return false;

https://github.com/D-Programming-Language/phobos/blob/master/std/concurrency.d#L824


More information about the Digitalmars-d-learn mailing list