Commit 52457dfe authored by simonmar's avatar simonmar
Browse files

[project @ 1999-12-01 14:58:09 by simonmar]

Fix the case where we're killing a thread that is blocked on
delivering an exception.
parent e1dc924b
/* -----------------------------------------------------------------------------
* $Id: Schedule.c,v 1.36 1999/12/01 14:34:40 simonmar Exp $
* $Id: Schedule.c,v 1.37 1999/12/01 14:58:09 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
......@@ -1266,13 +1266,13 @@ unblockThread(StgTSO *tso)
case BlockedOnException:
{
StgTSO *tso = tso->block_info.tso;
StgTSO *target = tso->block_info.tso;
ASSERT(get_itbl(tso)->type == TSO);
ASSERT(tso->blocked_exceptions != NULL);
ASSERT(get_itbl(target)->type == TSO);
ASSERT(target->blocked_exceptions != NULL);
last = &tso->blocked_exceptions;
for (t = tso->blocked_exceptions; t != END_TSO_QUEUE;
last = &target->blocked_exceptions;
for (t = target->blocked_exceptions; t != END_TSO_QUEUE;
last = &t->link, t = t->link) {
ASSERT(get_itbl(t)->type == TSO);
if (t == tso) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment