On Tuesday, 31 January 2017 at 06:32:02 UTC, Ali Çehreli wrote:
On 01/30/2017 08:12 PM, Profile Anaysis wrote:
[...]

That's because the fiber is not in a callable state. (You can check with search.state.) Here is one where the fiber function lives (too) long:

import std.stdio, std.concurrency, core.thread;

class Search : Fiber
{
    this() { super(&start); }
    int res = 0;
    void start() {
        while (true) {
            Fiber.yield();
            ++res;
        }
    }
}

void main()
{
    auto search = new Search();

    foreach (i; 0 .. 5) {
        search.call();
        writeln(search.res);
    }
}

Ali

Thanks.

Reply via email to