diff --git a/src/rt/rust_chan.cpp b/src/rt/rust_chan.cpp index 4c17663671361..97683c6876cb7 100644 --- a/src/rt/rust_chan.cpp +++ b/src/rt/rust_chan.cpp @@ -70,6 +70,7 @@ void rust_chan::disassociate() { * Attempt to send data to the associated port. */ void rust_chan::send(void *sptr) { + scoped_lock with(task->kernel->scheduler_lock); buffer.enqueue(sptr); rust_scheduler *sched = task->sched;