diff options
Diffstat (limited to 'src/rt/rust_scheduler.cpp')
| -rw-r--r-- | src/rt/rust_scheduler.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/rt/rust_scheduler.cpp b/src/rt/rust_scheduler.cpp index 47011e5a78d..2c4b886b6e2 100644 --- a/src/rt/rust_scheduler.cpp +++ b/src/rt/rust_scheduler.cpp @@ -272,9 +272,11 @@ rust_scheduler::create_task(rust_task *spawner, const char *name) { task->pin(spawner->pinned_on); task->on_wakeup(spawner->_on_wakeup); } - lock.lock(); - newborn_tasks.append(task); - lock.unlock(); + + { + scoped_lock with(lock); + newborn_tasks.append(task); + } sync::increment(kernel->live_tasks); |
