diff options
author | Simon Marlow <marlowsd@gmail.com> | 2010-05-05 09:45:34 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2010-05-05 09:45:34 +0000 |
commit | 6958b7bdc4d789358ef2f733586252027fe9d9d7 (patch) | |
tree | bfd1ff38192872404dd1db239e2430e0a79a4da2 /rts/Schedule.c | |
parent | 0a4162ac3cda41ef43b0e1ece4b6042327b8556c (diff) | |
download | haskell-6958b7bdc4d789358ef2f733586252027fe9d9d7.tar.gz |
BlockedOnMsgThrowTo is possible in resurrectThreads (#4030)
Diffstat (limited to 'rts/Schedule.c')
-rw-r--r-- | rts/Schedule.c | 6 |
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); |