diff options
author | Roland McGrath <roland@gnu.org> | 2003-03-13 21:51:07 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2003-03-13 21:51:07 +0000 |
commit | 6461e57784358cf4fd261e5e61d064a315aae924 (patch) | |
tree | c204eb7e9d3a13ead269e965d9856759c9bd946d /nptl/pthread_create.c | |
parent | 0579fabbe81afc3051b74c71907e8b5a76e2ab8a (diff) | |
download | glibc-6461e57784358cf4fd261e5e61d064a315aae924.zip glibc-6461e57784358cf4fd261e5e61d064a315aae924.tar.gz glibc-6461e57784358cf4fd261e5e61d064a315aae924.tar.bz2 |
* elf/Makefile ($(objpfx)librtld.mk): Tweak regexp so that one-line
entries in the map file match too.
Diffstat (limited to 'nptl/pthread_create.c')
-rw-r--r-- | nptl/pthread_create.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index 58116f7..519d0c6 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -227,9 +227,6 @@ start_thread (void *arg) THREAD_SETMEM (pd, result, pd->start_routine (pd->arg)); } - /* The thread is exiting now. */ - atomic_bit_set (&pd->cancelhandling, EXITING_BIT); - /* Clean up any state libc stored in thread-local variables. */ __libc_thread_freeres (); @@ -268,6 +265,10 @@ start_thread (void *arg) } } + /* The thread is exiting now. Don't set this bit until after we've hit + the event-reporting breakpoint, so that td_thr_get_info on us while at + the breakpoint reports TD_THR_RUN state rather than TD_THR_ZOMBIE. */ + atomic_bit_set (&pd->cancelhandling, EXITING_BIT); /* If the thread is detached free the TCB. */ if (IS_DETACHED (pd)) |