From 3f73836632c221bd952d0cee6abdd88b35963965 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 13 Jan 2001 16:09:41 +0000 Subject: Update. 2001-01-13 Jakub Jelinek * 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 * sysdeps/unix/sysv/linux/powerpc/bits/mman.h (MS_SYNC): Fix value. (MAP_LOCKED): New definition. (MAP_NORESERVE): New definition. --- linuxthreads/ChangeLog | 7 +++++++ linuxthreads/Examples/ex16.c | 26 ++++++++++++++++++++++++++ linuxthreads/Makefile | 2 +- linuxthreads/pthread.c | 1 + 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 linuxthreads/Examples/ex16.c (limited to 'linuxthreads') diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index a56b99c..8936eac 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,10 @@ +2001-01-13 Jakub Jelinek + + * 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 * 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 0000000..6509ae4 --- /dev/null +++ b/linuxthreads/Examples/ex16.c @@ -0,0 +1,26 @@ +/* Tst case by Jakub Jelinek . */ +#include +#include +#include + +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 da3c3d2..d3364ea 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 df1d00b..b62393f 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; } } } -- cgit v1.1