From bc80cec8cd3b13853ed97bab0936629919c7c830 Mon Sep 17 00:00:00 2001 From: simonmar Date: Tue, 23 Oct 2001 10:54:14 +0000 Subject: [PATCH] [project @ 2001-10-23 10:54:14 by simonmar] We should really delete the main thread in a deadlock situation, otherwise if we somehow recover it might stay in the system indefinitely. --- ghc/rts/Schedule.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ghc/rts/Schedule.c b/ghc/rts/Schedule.c index c8a6a94..7cad587 100644 --- a/ghc/rts/Schedule.c +++ b/ghc/rts/Schedule.c @@ -1,5 +1,5 @@ /* --------------------------------------------------------------------------- - * $Id: Schedule.c,v 1.100 2001/08/14 13:40:09 sewardj Exp $ + * $Id: Schedule.c,v 1.101 2001/10/23 10:54:14 simonmar Exp $ * * (c) The GHC Team, 1998-2000 * @@ -582,12 +582,14 @@ schedule( void ) StgMainThread *m = main_threads; #ifdef SMP for (; m != NULL; m = m->link) { + deleteThread(m->tso); m->ret = NULL; m->stat = Deadlock; pthread_cond_broadcast(&m->wakeup); } main_threads = NULL; #else + deleteThread(m->tso); m->ret = NULL; m->stat = Deadlock; main_threads = m->link; -- 1.7.10.4