From 4f0a6bffbc6ce3d641e3a88fe510f38bc95fd5b7 Mon Sep 17 00:00:00 2001 From: Rob Arnold Date: Sat, 2 Jul 2011 16:05:00 -0700 Subject: [PATCH] Push scheduler lock acquisition into rust_chan::send from its upcall --- src/rt/rust_chan.cpp | 1 + 1 file changed, 1 insertion(+) 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;