From 783f83ce96494aede66580ba55aadbdc7ce3b127 Mon Sep 17 00:00:00 2001 From: Gabor Melis Date: Thu, 13 Oct 2005 09:48:43 +0000 Subject: [PATCH] 0.9.5.55: hundred to ways to leave a thread * but don't call gc_alloc_update_page_tables on thread exit with gc running in another thread --- src/runtime/thread.c | 2 +- version.lisp-expr | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/runtime/thread.c b/src/runtime/thread.c index c6d2ad5..f881296 100644 --- a/src/runtime/thread.c +++ b/src/runtime/thread.c @@ -202,10 +202,10 @@ new_thread_trampoline(struct thread *th) /* SIG_STOP_FOR_GC is blocked and GC might be waiting for this * thread, but since we are already dead it won't wait long. */ pthread_mutex_lock(&all_threads_lock); + gc_alloc_update_page_tables(0, &th->alloc_region); unlink_thread(th); pthread_mutex_unlock(&all_threads_lock); - gc_alloc_update_page_tables(0, &th->alloc_region); if(th->tls_cookie>=0) arch_os_thread_cleanup(th); os_invalidate((os_vm_address_t)th->interrupt_data, (sizeof (struct interrupt_data))); diff --git a/version.lisp-expr b/version.lisp-expr index 0ef37b1..abff96c 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.9.5.54" +"0.9.5.55" -- 1.7.10.4