Skip to content

Commit b0a24d3

Browse files
committed
rt: Start schedulers immediately upon creation
1 parent 3bec647 commit b0a24d3

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

src/rt/rust_kernel.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ rust_kernel::create_scheduler(size_t num_threads) {
6060
sched = new (this, "rust_scheduler")
6161
rust_scheduler(this, srv, num_threads, 0);
6262
live_schedulers = 1;
63+
sched->start_task_threads();
6364
return 0;
6465
}
6566

@@ -84,15 +85,12 @@ int
8485
rust_kernel::wait_for_schedulers()
8586
{
8687
I(this, !sched_lock.lock_held_by_current_thread());
87-
sched->start_task_threads();
88-
{
89-
scoped_lock with(sched_lock);
90-
// Schedulers could possibly have already exited
91-
if (live_schedulers != 0) {
92-
sched_lock.wait();
93-
}
94-
return rval;
88+
scoped_lock with(sched_lock);
89+
// Schedulers could possibly have already exited
90+
if (live_schedulers != 0) {
91+
sched_lock.wait();
9592
}
93+
return rval;
9694
}
9795

9896
void

0 commit comments

Comments
 (0)