diff options
author | Roland McGrath <roland@gnu.org> | 2003-07-29 09:32:03 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2003-07-29 09:32:03 +0000 |
commit | a7f6c66ec36b297bead2e4d12de1802f757905ed (patch) | |
tree | b433ddb76557f0d5ef7d021bcfa6c78c4ef0101a /nptl/sysdeps/pthread | |
parent | 172ce013bdd864ba22b6b22611ffd893f1f9f2a6 (diff) | |
download | glibc-a7f6c66ec36b297bead2e4d12de1802f757905ed.tar.gz glibc-a7f6c66ec36b297bead2e4d12de1802f757905ed.tar.xz glibc-a7f6c66ec36b297bead2e4d12de1802f757905ed.zip |
* rt/tst-timer2.c: New file.
* rt/Makefile (tests): Add it.
Diffstat (limited to 'nptl/sysdeps/pthread')
-rw-r--r-- | nptl/sysdeps/pthread/timer_create.c | 5 | ||||
-rw-r--r-- | nptl/sysdeps/pthread/timer_routines.c | 7 |
2 files changed, 6 insertions, 6 deletions
diff --git a/nptl/sysdeps/pthread/timer_create.c b/nptl/sysdeps/pthread/timer_create.c index 4ee0966f4e..16aa8100b4 100644 --- a/nptl/sysdeps/pthread/timer_create.c +++ b/nptl/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/nptl/sysdeps/pthread/timer_routines.c b/nptl/sysdeps/pthread/timer_routines.c index 7dec0caab1..af6f7412b6 100644 --- a/nptl/sysdeps/pthread/timer_routines.c +++ b/nptl/sysdeps/pthread/timer_routines.c @@ -296,7 +296,7 @@ thread_cleanup (void *val) thread->current_timer = 0; if (list_isempty (&thread->timer_queue)) - __timer_thread_dealloc (thread); + __timer_thread_dealloc (thread); else (void) __timer_thread_start (thread); @@ -540,10 +540,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); } |