summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsimonmar <unknown>2000-01-30 10:16:09 +0000
committersimonmar <unknown>2000-01-30 10:16:09 +0000
commitf195b5de5c01661102bc51c51f96dbe747ac8023 (patch)
tree09e8241f663cc9daefdc3ae9e9ff678bea5e20fe
parent84ccb85d938577d5244e51678e1b459d27781855 (diff)
downloadhaskell-f195b5de5c01661102bc51c51f96dbe747ac8023.tar.gz
[project @ 2000-01-30 10:16:09 by simonmar]
Deal with ThreadRelocated in checkTSO().
-rw-r--r--ghc/rts/Sanity.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/ghc/rts/Sanity.c b/ghc/rts/Sanity.c
index c0a602a9f6..a5d61268af 100644
--- a/ghc/rts/Sanity.c
+++ b/ghc/rts/Sanity.c
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------------------
- * $Id: Sanity.c,v 1.15 2000/01/13 14:34:04 hwloidl Exp $
+ * $Id: Sanity.c,v 1.16 2000/01/30 10:16:09 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
@@ -471,7 +471,12 @@ checkTSO(StgTSO *tso)
StgOffset stack_size = tso->stack_size;
StgPtr stack_end = stack + stack_size;
- if (tso->whatNext == ThreadComplete || tso->whatNext == ThreadKilled) {
+ if (tso->whatNext == ThreadRelocated) {
+ checkTSO(tso->link);
+ return;
+ }
+
+ if (tso->whatNext == ThreadComplete || tso->whatNext == ThreadKilled) {
/* The garbage collector doesn't bother following any pointers
* from dead threads, so don't check sanity here.
*/