This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Add more noreturn attributes



Here's a revised and working patch that I've just committed, we can't
remove the cleanup_pop call,

Andreas

Index: linuxthreads/sysdeps/pthread/timer_routines.c
===================================================================
RCS file: /cvs/glibc/libc/linuxthreads/sysdeps/pthread/timer_routines.c,v
retrieving revision 1.11
retrieving revision 1.13
diff -u -r1.11 -r1.13
--- timer_routines.c	2000/09/02 17:42:10	1.11
+++ timer_routines.c	2001/04/21 18:50:28	1.13
@@ -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 @@
    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,11 @@
       else
 	pthread_cond_wait (&self->cond, &__timer_mutex);
     }
-
+  /* These statements will never be executed since the while loop
+     loops forever - but we have to add them for proper nesting.  */
   pthread_mutex_unlock (&__timer_mutex);
   pthread_cleanup_pop (1);
 
-  return NULL;
 }
 
 

-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]