From 6031b7f049f4c33c0d080644154e8b96b372bfd8 Mon Sep 17 00:00:00 2001 From: vsc Date: Tue, 17 Feb 2004 19:29:24 +0000 Subject: [PATCH] protect dead threads. git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@995 b08c6af1-5177-4d33-ba66-4b1c6b8b522a --- C/threads.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/C/threads.c b/C/threads.c index 44160352e..c319f269d 100644 --- a/C/threads.c +++ b/C/threads.c @@ -361,6 +361,10 @@ p_thread_signal(void) Int wid = IntegerOfTerm(Deref(ARG1)); /* make sure the lock is available */ pthread_mutex_lock(&(ThreadHandle[wid].tlock)); + if (!ThreadHandle[wid].in_use) { + pthread_mutex_unlock(&(ThreadHandle[wid].tlock)); + return TRUE; + } LOCK(heap_regs->wl[wid].signal_lock); ThreadHandle[wid].current_yaam_regs->CreepFlag_ = Unsigned(LCL0); heap_regs->wl[wid].active_signals |= YAP_ITI_SIGNAL;