diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-12-05 17:42:58 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-12-05 17:42:58 -0800 |
| commit | 58844aee421eccc5399d6a5bec278de5149e8117 (patch) | |
| tree | ffdddc49fd0eeee46bd6d7d9be4892d767af87df /src/rt/rust_task.cpp | |
| parent | a731f165df26cb7575133d549ffd2f548bb3de99 (diff) | |
| download | rust-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.cpp | 3 |
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); } |
