summaryrefslogtreecommitdiff
path: root/rts/Schedule.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-06-10 10:47:48 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-06-10 10:47:48 +0000
commitda9cbce906561df5182e9f65ef7a16c065ec127a (patch)
tree50f0306b3ecdd719f112b8997f33846392a57d75 /rts/Schedule.c
parent340fb6fe7e6d31f73e8610d7f6fa3984555470fb (diff)
downloadhaskell-da9cbce906561df5182e9f65ef7a16c065ec127a.tar.gz
don't check for stack underflow if we just had an overflow
Diffstat (limited to 'rts/Schedule.c')
-rw-r--r--rts/Schedule.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/rts/Schedule.c b/rts/Schedule.c
index 51a8d2a842..c840c78644 100644
--- a/rts/Schedule.c
+++ b/rts/Schedule.c
@@ -584,7 +584,9 @@ run_thread:
schedulePostRunThread(cap,t);
- t = threadStackUnderflow(task,t);
+ if (ret != StackOverflow) {
+ t = threadStackUnderflow(task,t);
+ }
ready_to_gc = rtsFalse;