From 58844aee421eccc5399d6a5bec278de5149e8117 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 5 Dec 2011 17:42:58 -0800 Subject: rt: Make stack unwinding work more correctly with stack growth --- src/rt/rust_task.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/rt/rust_task.cpp') 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); } -- cgit 1.4.1-3-g733a5