From a7f6c66ec36b297bead2e4d12de1802f757905ed Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 29 Jul 2003 09:32:03 +0000 Subject: * rt/tst-timer2.c: New file. * rt/Makefile (tests): Add it. --- linuxthreads/ChangeLog | 7 +++++++ linuxthreads/sysdeps/pthread/timer_create.c | 5 ++++- linuxthreads/sysdeps/pthread/timer_routines.c | 5 +---- 3 files changed, 12 insertions(+), 5 deletions(-) (limited to 'linuxthreads') diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 4d70bb326c..b151dc3406 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,10 @@ +2003-06-19 Daniel Jacobowitz + + * sysdeps/pthread/timer_create.c (timer_create): Call timer_delref + before __timer_dealloc. + * sysdeps/pthread/timer_routines.c (__timer_thread_find_matching): + Don't call list_unlink. + 2003-07-29 Roland McGrath * Makefile [$(build-shared) = yes] (tests): Depend on $(test-modules). diff --git a/linuxthreads/sysdeps/pthread/timer_create.c b/linuxthreads/sysdeps/pthread/timer_create.c index 795f94c7d2..d63cda0687 100644 --- a/linuxthreads/sysdeps/pthread/timer_create.c +++ b/linuxthreads/sysdeps/pthread/timer_create.c @@ -178,7 +178,10 @@ timer_create (clock_id, evp, timerid) if (thread != NULL) __timer_thread_dealloc (thread); if (newtimer != NULL) - __timer_dealloc (newtimer); + { + timer_delref (newtimer); + __timer_dealloc (newtimer); + } } pthread_mutex_unlock (&__timer_mutex); diff --git a/linuxthreads/sysdeps/pthread/timer_routines.c b/linuxthreads/sysdeps/pthread/timer_routines.c index b88c5e0556..36c26b2a01 100644 --- a/linuxthreads/sysdeps/pthread/timer_routines.c +++ b/linuxthreads/sysdeps/pthread/timer_routines.c @@ -538,10 +538,7 @@ __timer_thread_find_matching (const pthread_attr_t *desired_attr, if (thread_attr_compare (desired_attr, &candidate->attr) && desired_clock_id == candidate->clock_id) - { - list_unlink (iter); - return candidate; - } + return candidate; iter = list_next (iter); } -- cgit 1.4.1