summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rts/Schedule.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/rts/Schedule.c b/rts/Schedule.c
index c07b21aac1..715517e976 100644
--- a/rts/Schedule.c
+++ b/rts/Schedule.c
@@ -2819,6 +2819,8 @@ threadStackUnderflow (Task *task STG_UNUSED, StgTSO *tso)
bd = Bdescr((StgPtr)tso);
new_bd = splitLargeBlock(bd, new_tso_size_w / BLOCK_SIZE_W);
+ new_bd->free = bd->free;
+ bd->free = bd->start + TSO_STRUCT_SIZEW;
new_tso = (StgTSO *)new_bd->start;
memcpy(new_tso,tso,TSO_STRUCT_SIZE);