configure.host: Build with -fexceptions.
* configure.host: Build with -fexceptions. * linux_threads.c: Remember which thread stopped world for From-SVN: r42362
This commit is contained in:
parent
cb5fa0f8ea
commit
18d6fb9765
@ -1,3 +1,8 @@
|
||||
2001-05-19 Hans Boehm <hans_boehm@hp.com>
|
||||
|
||||
* configure.host: Build with -fexceptions.
|
||||
* linux_threads.c: Remember which thread stopped world for
|
||||
|
||||
2001-05-04 Loren J. Rittle <ljrittle@acm.org>
|
||||
with final tuning by Bryce McKinlay
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
# It sets the following shell variables:
|
||||
# boehm_gc_cflags Special CFLAGS to use when building
|
||||
|
||||
boehm_gc_cflags=
|
||||
boehm_gc_cflags=-fexceptions
|
||||
|
||||
case "${target_optspace}:${host}" in
|
||||
yes:*)
|
||||
|
@ -326,6 +326,11 @@ GC_thread GC_lookup_thread(pthread_t id)
|
||||
return(p);
|
||||
}
|
||||
|
||||
/* There seems to be a very rare thread stopping problem. To help us */
|
||||
/* debug that, we save the ids of the stopping thread. */
|
||||
pthread_t GC_stopping_thread;
|
||||
int GC_stopping_pid;
|
||||
|
||||
/* Caller holds allocation lock. */
|
||||
void GC_stop_world()
|
||||
{
|
||||
@ -335,6 +340,8 @@ void GC_stop_world()
|
||||
register int n_live_threads = 0;
|
||||
register int result;
|
||||
|
||||
GC_stopping_thread = my_thread; /* debugging only. */
|
||||
GC_stopping_pid = getpid(); /* debugging only. */
|
||||
for (i = 0; i < THREAD_TABLE_SZ; i++) {
|
||||
for (p = GC_threads[i]; p != 0; p = p -> next) {
|
||||
if (p -> id != my_thread) {
|
||||
@ -403,6 +410,7 @@ void GC_start_world()
|
||||
#if DEBUG_THREADS
|
||||
GC_printf0("World started\n");
|
||||
#endif
|
||||
GC_stopping_thread = 0; /* debugging only */
|
||||
}
|
||||
|
||||
# ifdef IA64
|
||||
|
Loading…
Reference in New Issue
Block a user