From 1ba3028d8b7acb0c97859ea438f2beb4ccd364f9 Mon Sep 17 00:00:00 2001 From: Ben Blum Date: Wed, 27 Jun 2012 13:07:00 -0400 Subject: rt: Add task_local_data and related builtin calls (Closes #2680) --- src/rt/rust_builtin.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/rt/rust_builtin.cpp') diff --git a/src/rt/rust_builtin.cpp b/src/rt/rust_builtin.cpp index 38e387735f9..7ffaccece64 100644 --- a/src/rt/rust_builtin.cpp +++ b/src/rt/rust_builtin.cpp @@ -914,7 +914,19 @@ rust_signal_cond_lock(rust_cond_lock *lock) { } } - +// set/get/atexit task_local_data can run on the rust stack for speed. +extern "C" void * +rust_get_task_local_data(rust_task *task) { + return task->task_local_data; +} +extern "C" void +rust_set_task_local_data(rust_task *task, void *data) { + task->task_local_data = data; +} +extern "C" void +rust_task_local_data_atexit(rust_task *task, void (*cleanup_fn)(void *data)) { + task->task_local_data_cleanup = cleanup_fn; +} // // Local Variables: -- cgit 1.4.1-3-g733a5