X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2Fsm%2FCompact.c;h=e55ae2b7c261efe0d125807b27bfa53d2542215b;hp=315eda732d7fca2bfa5498eb2627dcb2ac41daaa;hb=7effbbbbdfe7eb05c6402fa9337e358e7e9fadde;hpb=4e8b07dbc753a5132c574926468ba886728c9049 diff --git a/rts/sm/Compact.c b/rts/sm/Compact.c index 315eda7..e55ae2b 100644 --- a/rts/sm/Compact.c +++ b/rts/sm/Compact.c @@ -1014,10 +1014,14 @@ compact(StgClosure *static_objects) // the task list { Task *task; + InCall *incall; for (task = all_tasks; task != NULL; task = task->all_link) { - if (task->tso) { - thread_(&task->tso); - } + for (incall = task->incall; incall != NULL; + incall = incall->prev_stack) { + if (incall->tso) { + thread_(&incall->tso); + } + } } }