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(); }
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); }