diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index d25798318a..a43d4acd46 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,5 +1,8 @@ 2001-04-21 Andreas Jaeger + * sysdeps/pthread/timer_routines.c (thread_func): Add noreturn + attribute, remove statements that will never be executed. + * manager.c (__pthread_manager): Add noreturn attribute. (pthread_start_thread): Likewise, remove return statement. diff --git a/linuxthreads/sysdeps/pthread/timer_routines.c b/linuxthreads/sysdeps/pthread/timer_routines.c index d23c27ecaf..71bc6dd814 100644 --- a/linuxthreads/sysdeps/pthread/timer_routines.c +++ b/linuxthreads/sysdeps/pthread/timer_routines.c @@ -1,5 +1,5 @@ /* Helper code for POSIX timer implementation on LinuxThreads. - Copyright (C) 2000 Free Software Foundation, Inc. + Copyright (C) 2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Kaz Kylheku . @@ -370,6 +370,7 @@ thread_expire_timer (struct thread_node *self, struct timer_node *timer) timers in chronological order as close to their scheduled time as possible. */ static void * +__attribute__ ((noreturn)) thread_func (void *arg) { struct thread_node *self = arg; @@ -437,11 +438,13 @@ thread_func (void *arg) else pthread_cond_wait (&self->cond, &__timer_mutex); } - + /* These statements will never be executed since the while loop + loops forever: pthread_mutex_unlock (&__timer_mutex); pthread_cleanup_pop (1); return NULL; + */ }