예제 #1
0
rust_scheduler::rust_scheduler(rust_kernel *kernel,
			       rust_srv *srv,
			       size_t num_threads,
			       rust_sched_id id) :
    kernel(kernel),
    srv(srv),
    env(srv->env),
    live_threads(num_threads),
    live_tasks(0),
    num_threads(num_threads),
    id(id)
{
    isaac_init(kernel, &rctx);
    create_task_threads();
}
예제 #2
0
rust_scheduler::rust_scheduler(rust_kernel *kernel,
                               size_t num_threads,
                               rust_sched_id id,
                               bool allow_exit,
                               bool killed,
                               rust_sched_launcher_factory *launchfac) :
    ref_count(1),
    kernel(kernel),
    live_threads(num_threads),
    live_tasks(0),
    cur_thread(0),
    may_exit(allow_exit),
    num_threads(num_threads),
    id(id)
{
    create_task_threads(launchfac, killed);
}