summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2013-02-07 09:55:20 +0000
committerSimon Marlow <marlowsd@gmail.com>2013-02-07 09:56:47 +0000
commit2f7044dee40ba6eadc1877ec49c30e1695d63fe4 (patch)
treee9691aaf84574a0a8672c55c93cdfd08939753c0 /rts
parente705fb083cc00d9330bc13a6f011c80c6fc40c8f (diff)
downloadhaskell-2f7044dee40ba6eadc1877ec49c30e1695d63fe4.tar.gz
Tidy up tso->stackobj before calling threadStackUnderflow (#7636)
Fixes the following crash: internal error: threadStackUnderflow: not enough space for return values when using STM.
Diffstat (limited to 'rts')
-rw-r--r--rts/Schedule.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/rts/Schedule.c b/rts/Schedule.c
index a21b312fd5..5f48ef633c 100644
--- a/rts/Schedule.c
+++ b/rts/Schedule.c
@@ -2772,6 +2772,7 @@ findRetryFrameHelper (Capability *cap, StgTSO *tso)
}
case UNDERFLOW_FRAME:
+ tso->stackobj->sp = p;
threadStackUnderflow(cap,tso);
p = tso->stackobj->sp;
continue;