aboutsummaryrefslogtreecommitdiff
path: root/src/rt/rust_task_list.cpp
diff options
context:
space:
mode:
authorMichael Bebenita <[email protected]>2010-09-10 01:21:29 -0700
committerMichael Bebenita <[email protected]>2010-09-10 14:38:31 -0700
commita493350eb5ab38ba8a6563f3eb4a090d257b0d3a (patch)
treedc984eaa28a55de9f05db0b961a0e67f80ca35ef /src/rt/rust_task_list.cpp
parentAdded lock_and_signal::signal_all(), and made the rust_kernel::join() use wai... (diff)
downloadrust-a493350eb5ab38ba8a6563f3eb4a090d257b0d3a.tar.xz
rust-a493350eb5ab38ba8a6563f3eb4a090d257b0d3a.zip
Cleanup, refactoring, and some runtime tests.
Diffstat (limited to 'src/rt/rust_task_list.cpp')
-rw-r--r--src/rt/rust_task_list.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/rt/rust_task_list.cpp b/src/rt/rust_task_list.cpp
new file mode 100644
index 00000000..635ee136
--- /dev/null
+++ b/src/rt/rust_task_list.cpp
@@ -0,0 +1,16 @@
+#include "rust_internal.h"
+
+rust_task_list::rust_task_list (rust_dom *dom, const char* name) :
+ dom(dom), name(name) {
+ // Nop;
+}
+
+void
+rust_task_list::delete_all() {
+ dom->log(rust_log::TASK, "deleting all %s tasks", name);
+ while (is_empty() == false) {
+ rust_task *task = pop_value();
+ dom->log(rust_log::TASK, "deleting task " PTR, task);
+ delete task;
+ }
+}