threadStackUnderflow: fix up the bd->free pointers in the split blocks
authorSimon Marlow <marlowsd@gmail.com>
Mon, 9 Jun 2008 17:16:17 +0000 (17:16 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Mon, 9 Jun 2008 17:16:17 +0000 (17:16 +0000)
rts/Schedule.c

index c07b21a..715517e 100644 (file)
@@ -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);