From a88d9effbca3a228136dff82b4d47a8bf8276b64 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Mon, 26 Sep 2011 17:41:22 -0700 Subject: rt: Don't run arbitrary destructors on cycle collection; that's just broken. --- src/rt/rust_cc.cpp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'src/rt/rust_cc.cpp') diff --git a/src/rt/rust_cc.cpp b/src/rt/rust_cc.cpp index 70bb5aab1ed..aebf472ab36 100644 --- a/src/rt/rust_cc.cpp +++ b/src/rt/rust_cc.cpp @@ -419,16 +419,9 @@ sweep(rust_task *task, const std::set &marked) { while (begin != end) { void *alloc = begin->first; if (marked.find(alloc) == marked.end()) { - const type_desc *tydesc = begin->second; - //DPRINT("object is part of a cycle: %p\n", alloc); - // Run the destructor. - // TODO: What if it fails? - if (tydesc->drop_glue) { - tydesc->drop_glue(NULL, task, (void *)tydesc, - tydesc->first_param, alloc); - } + // FIXME: Run the destructor, *if* it's a resource. task->free(alloc); } -- cgit 1.4.1-3-g733a5