about summary refs log tree commit diff
path: root/src/rt/rust_builtin.cpp
diff options
context:
space:
mode:
authorBen Blum <bblum@andrew.cmu.edu>2012-07-10 18:55:16 -0400
committerBen Blum <bblum@andrew.cmu.edu>2012-07-11 12:07:06 -0400
commit9c0b469613d58eba7d5f15625b589218fc903e66 (patch)
treed2936cfbf43a58ee9b5bd688b0b8c67eee6add49 /src/rt/rust_builtin.cpp
parent2ffa9b6bd99efa244bdc943186772d59b074ee6d (diff)
downloadrust-9c0b469613d58eba7d5f15625b589218fc903e66.tar.gz
rust-9c0b469613d58eba7d5f15625b589218fc903e66.zip
Add rust_task_kill_other
Diffstat (limited to 'src/rt/rust_builtin.cpp')
-rw-r--r--src/rt/rust_builtin.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/rt/rust_builtin.cpp b/src/rt/rust_builtin.cpp
index aa314d2811e..55f1f8bf17e 100644
--- a/src/rt/rust_builtin.cpp
+++ b/src/rt/rust_builtin.cpp
@@ -858,6 +858,11 @@ rust_task_allow_kill() {
     task->allow_kill();
 }
 
+extern "C" void
+rust_task_kill_other(rust_task *task) { /* Used for linked failure */
+    task->kill();
+}
+
 extern "C" rust_cond_lock*
 rust_create_cond_lock() {
     return new rust_cond_lock();
@@ -884,6 +889,7 @@ rust_unlock_cond_lock(rust_cond_lock *lock) {
 
 extern "C" void
 rust_wait_cond_lock(rust_cond_lock *lock) {
+    assert(false && "condition->wait() is totally broken! Don't use it!");
     rust_task *task = rust_get_current_task();
     lock->lock.must_have_lock();
     assert(NULL == lock->waiting);
@@ -897,6 +903,7 @@ rust_wait_cond_lock(rust_cond_lock *lock) {
 
 extern "C" bool
 rust_signal_cond_lock(rust_cond_lock *lock) {
+    assert(false && "condition->signal() is totally broken! Don't use it!");
     lock->lock.must_have_lock();
     if(NULL == lock->waiting) {
         return false;