aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linuxthreads/ChangeLog3
-rw-r--r--linuxthreads/sysdeps/pthread/timer_routines.c7
2 files changed, 8 insertions, 2 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index d257983..a43d4ac 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,5 +1,8 @@
2001-04-21 Andreas Jaeger <aj@suse.de>
+ * 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 d23c27e..71bc6dd 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 <kaz@ashi.footprints.net>.
@@ -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;
+ */
}