diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-01-13 16:09:41 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-01-13 16:09:41 +0000 |
commit | 3f73836632c221bd952d0cee6abdd88b35963965 (patch) | |
tree | 31f7ff06e8092382a1319d723c64869ce6ed7d2d /linuxthreads | |
parent | 234669e2687f707441040f90a9114133a77babe3 (diff) | |
download | glibc-3f73836632c221bd952d0cee6abdd88b35963965.tar.gz glibc-3f73836632c221bd952d0cee6abdd88b35963965.tar.xz glibc-3f73836632c221bd952d0cee6abdd88b35963965.zip |
Update.
2001-01-13 Jakub Jelinek <jakub@redhat.com> * inet/ether_ntoh.c (lookup_function): Change arguments to match _nss_*_getntohost_r prototype. (ether_ntohost): Pass errno pointer to NSS function. 2001-01-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * sysdeps/unix/sysv/linux/powerpc/bits/mman.h (MS_SYNC): Fix value. (MAP_LOCKED): New definition. (MAP_NORESERVE): New definition.
Diffstat (limited to 'linuxthreads')
-rw-r--r-- | linuxthreads/ChangeLog | 7 | ||||
-rw-r--r-- | linuxthreads/Examples/ex16.c | 26 | ||||
-rw-r--r-- | linuxthreads/Makefile | 2 | ||||
-rw-r--r-- | linuxthreads/pthread.c | 1 |
4 files changed, 35 insertions, 1 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index a56b99ce85..8936eac03a 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,10 @@ +2001-01-13 Jakub Jelinek <jakub@redhat.com> + + * pthread.c (pthread_onexit_process): Clear + __pthread_manager_thread_bos after freeing it. + * Makefile (tests): Add ex16. + * Examples/ex16.c: New file. + 2001-01-11 Jakub Jelinek <jakub@redhat.com> * Makefile (CFLAGS-pthread.c): Pass -DHAVE_Z_NODELETE if ld supports diff --git a/linuxthreads/Examples/ex16.c b/linuxthreads/Examples/ex16.c new file mode 100644 index 0000000000..6509ae4515 --- /dev/null +++ b/linuxthreads/Examples/ex16.c @@ -0,0 +1,26 @@ +/* Tst case by Jakub Jelinek <jakub@redhat.com>. */ +#include <stdlib.h> +#include <unistd.h> +#include <pthread.h> + +static void * +task (void *p) +{ + sleep (30); + return NULL; +} + +int +main (void) +{ + pthread_t t; + int status; + + status = pthread_create (&t, NULL, task, NULL); + if (status) + exit (status); + + status = pthread_detach (t); + pthread_kill_other_threads_np (); + return status; +} diff --git a/linuxthreads/Makefile b/linuxthreads/Makefile index da3c3d22f7..d3364eaf5b 100644 --- a/linuxthreads/Makefile +++ b/linuxthreads/Makefile @@ -46,7 +46,7 @@ include ../Makeconfig librt-tests = ex10 ex11 tests = ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 ex9 $(librt-tests) ex12 ex13 joinrace \ - tststack $(tests-nodelete-$(have-z-nodelete)) ecmutex ex14 ex15 + tststack $(tests-nodelete-$(have-z-nodelete)) ecmutex ex14 ex15 ex16 ifeq (yes,$(build-shared)) tests-nodelete-yes = unload diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c index df1d00b05a..b62393fde9 100644 --- a/linuxthreads/pthread.c +++ b/linuxthreads/pthread.c @@ -753,6 +753,7 @@ static void pthread_onexit_process(int retcode, void *arg) { waitpid(__pthread_manager_thread.p_pid, NULL, __WCLONE); free (__pthread_manager_thread_bos); + __pthread_manager_thread_bos = __pthread_manager_thread_tos = NULL; } } } |