/* ---------------------------------------------------------------------------
- * $Id: Schedule.c,v 1.90 2001/02/11 17:51:08 simonmar Exp $
+ * $Id: Schedule.c,v 1.91 2001/02/12 13:14:13 simonmar Exp $
*
* (c) The GHC Team, 1998-2000
*
StgTSO *target = tso->block_info.tso;
ASSERT(get_itbl(target)->type == TSO);
+
+ if (target->what_next == ThreadRelocated) {
+ target = target->link;
+ ASSERT(get_itbl(target)->type == TSO);
+ }
+
ASSERT(target->blocked_exceptions != NULL);
last = (StgBlockingQueueElement **)&target->blocked_exceptions;
StgTSO *target = tso->block_info.tso;
ASSERT(get_itbl(target)->type == TSO);
+
+ while (target->what_next == ThreadRelocated) {
+ target = target->link;
+ ASSERT(get_itbl(target)->type == TSO);
+ }
+
ASSERT(target->blocked_exceptions != NULL);
last = &target->blocked_exceptions;