From ae094a7adc8e0f166ea2b137c2940afdb9396bcd Mon Sep 17 00:00:00 2001 From: Ben Blum Date: Tue, 24 Jul 2012 15:27:45 -0400 Subject: Add 'do atomically { .. }' for exclusives --- src/rt/rust_builtin.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/rt/rust_builtin.cpp') diff --git a/src/rt/rust_builtin.cpp b/src/rt/rust_builtin.cpp index f86e9232625..784df64d944 100644 --- a/src/rt/rust_builtin.cpp +++ b/src/rt/rust_builtin.cpp @@ -854,17 +854,25 @@ rust_global_env_chan_ptr() { } extern "C" void -rust_task_inhibit_kill() { - rust_task *task = rust_get_current_task(); +rust_task_inhibit_kill(rust_task *task) { task->inhibit_kill(); } extern "C" void -rust_task_allow_kill() { - rust_task *task = rust_get_current_task(); +rust_task_allow_kill(rust_task *task) { task->allow_kill(); } +extern "C" void +rust_task_inhibit_yield(rust_task *task) { + task->inhibit_yield(); +} + +extern "C" void +rust_task_allow_yield(rust_task *task) { + task->allow_yield(); +} + extern "C" void rust_task_kill_other(rust_task *task) { /* Used for linked failure */ task->kill(); -- cgit 1.4.1-3-g733a5