Add 'do atomically { .. }' for exclusives

This commit is contained in:
Ben Blum
2012-07-24 15:27:45 -04:00
parent 9103e43909
commit ae094a7adc
6 changed files with 91 additions and 13 deletions

View File

@@ -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();