about summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-12-05 17:42:58 -0800
committerBrian Anderson <banderson@mozilla.com>2011-12-05 17:42:58 -0800
commit58844aee421eccc5399d6a5bec278de5149e8117 (patch)
treeffdddc49fd0eeee46bd6d7d9be4892d767af87df /src/rt/rust_task.cpp
parenta731f165df26cb7575133d549ffd2f548bb3de99 (diff)
downloadrust-58844aee421eccc5399d6a5bec278de5149e8117.tar.gz
rust-58844aee421eccc5399d6a5bec278de5149e8117.zip
rt: Make stack unwinding work more correctly with stack growth
Diffstat (limited to 'src/rt/rust_task.cpp')
-rw-r--r--src/rt/rust_task.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp
index f0ab8c57c35..a34ec4d8661 100644
--- a/src/rt/rust_task.cpp
+++ b/src/rt/rust_task.cpp
@@ -131,6 +131,9 @@ rust_task::~rust_task()
     //   (ref_count == 1 && this == sched->root_task));
 
     // Delete all the stacks. There may be more than one if the task failed
+    // FIXME: This is not correct. During unwinding we need to delete
+    // the stacks and record the stack limit, otherwise the stack
+    // stack is corrupted when destructors are running.
     while (stk != NULL) {
         del_stk(this, stk);
     }