1
Fork 0

rt: Make the logic that moves environments between tasks update the GC alloc chain correctly

This commit is contained in:
Patrick Walton 2011-09-26 15:06:26 -07:00
parent 47e5ab093a
commit ad19ab4c6f
4 changed files with 50 additions and 8 deletions

View file

@ -456,8 +456,8 @@ migrate_alloc(rust_task *task, void *alloc, rust_task_id tid) {
if(!alloc) return;
rust_task *target = task->kernel->get_task_by_id(tid);
if(target) {
task->local_region.release_alloc(alloc);
target->local_region.claim_alloc(alloc);
const type_desc *tydesc = task->release_alloc(alloc);
target->claim_alloc(alloc, tydesc);
target->deref();
}
else {