summaryrefslogtreecommitdiff
path: root/rts/Schedule.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2010-05-05 09:45:34 +0000
committerSimon Marlow <marlowsd@gmail.com>2010-05-05 09:45:34 +0000
commit6958b7bdc4d789358ef2f733586252027fe9d9d7 (patch)
treebfd1ff38192872404dd1db239e2430e0a79a4da2 /rts/Schedule.c
parent0a4162ac3cda41ef43b0e1ece4b6042327b8556c (diff)
downloadhaskell-6958b7bdc4d789358ef2f733586252027fe9d9d7.tar.gz
BlockedOnMsgThrowTo is possible in resurrectThreads (#4030)
Diffstat (limited to 'rts/Schedule.c')
-rw-r--r--rts/Schedule.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/rts/Schedule.c b/rts/Schedule.c
index f7b26a4876..5ed575ea7f 100644
--- a/rts/Schedule.c
+++ b/rts/Schedule.c
@@ -2551,6 +2551,12 @@ resurrectThreads (StgTSO *threads)
* can wake up threads, remember...).
*/
continue;
+ case BlockedOnMsgThrowTo:
+ // This can happen if the target is masking, blocks on a
+ // black hole, and then is found to be unreachable. In
+ // this case, we want to let the target wake up and carry
+ // on, and do nothing to this thread.
+ continue;
default:
barf("resurrectThreads: thread blocked in a strange way: %d",
tso->why_blocked);