Fix a Real Bug(TM) in the new code for detecting dead threads: we
weren't taking into account the case when a ThreadRelocated is found
on the all_threads list.
/* -----------------------------------------------------------------------------
/* -----------------------------------------------------------------------------
- * $Id: GC.c,v 1.81 2000/04/27 16:31:46 sewardj Exp $
+ * $Id: GC.c,v 1.82 2000/05/23 13:57:53 simonmar Exp $
*
* (c) The GHC Team 1998-1999
*
*
* (c) The GHC Team 1998-1999
*
* the list.
*/
switch (t->what_next) {
* the list.
*/
switch (t->what_next) {
+ case ThreadRelocated:
+ next = t->link;
+ *prev = next;
+ continue;
case ThreadKilled:
case ThreadComplete:
case ThreadKilled:
case ThreadComplete:
- next = t->global_link;
- *prev = next;
- continue;
+ next = t->global_link;
+ *prev = next;
+ continue;