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]
Other format: [Raw text]

[PATCH] Remove __THROW from LinuxThreads cancellation points


Hi!

Without this C++ programs built against LinuxThreads headers, but run
against NPTL will not get cancellation right.

2003-12-26  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/pthread/pthread.h (pthread_setcancelstate,
	pthread_setcanceltype, pthread_cancel, pthread_testcancel): Remove
	__THROW.
	* semaphore.h (sem_wait, sem_timedwait): Likewise.

--- libc/linuxthreads/semaphore.h.jj	2001-06-14 00:56:43.000000000 +0200
+++ libc/linuxthreads/semaphore.h	2003-12-26 22:38:47.000000000 +0100
@@ -64,13 +64,12 @@ extern int sem_close (sem_t *__sem) __TH
 extern int sem_unlink (__const char *__name) __THROW;
 
 /* Wait for SEM being posted.  */
-extern int sem_wait (sem_t *__sem) __THROW;
+extern int sem_wait (sem_t *__sem);
 
 #ifdef __USE_XOPEN2K
 /* Similar to `sem_wait' but wait only until ABSTIME.  */
 extern int sem_timedwait (sem_t *__restrict __sem,
-			  __const struct timespec *__restrict __abstime)
-     __THROW;
+			  __const struct timespec *__restrict __abstime);
 #endif
 
 /* Test whether SEM is posted.  */
--- libc/linuxthreads/sysdeps/pthread/pthread.h.jj	2003-09-22 17:35:40.000000000 +0200
+++ libc/linuxthreads/sysdeps/pthread/pthread.h	2003-12-26 22:38:08.000000000 +0100
@@ -582,19 +582,19 @@ extern int pthread_once (pthread_once_t 
 
 /* Set cancelability state of current thread to STATE, returning old
    state in *OLDSTATE if OLDSTATE is not NULL.  */
-extern int pthread_setcancelstate (int __state, int *__oldstate) __THROW;
+extern int pthread_setcancelstate (int __state, int *__oldstate);
 
 /* Set cancellation state of current thread to TYPE, returning the old
    type in *OLDTYPE if OLDTYPE is not NULL.  */
-extern int pthread_setcanceltype (int __type, int *__oldtype) __THROW;
+extern int pthread_setcanceltype (int __type, int *__oldtype);
 
 /* Cancel THREAD immediately or at the next possibility.  */
-extern int pthread_cancel (pthread_t __cancelthread) __THROW;
+extern int pthread_cancel (pthread_t __cancelthread);
 
 /* Test for pending cancellation for the current thread and terminate
    the thread as per pthread_exit(PTHREAD_CANCELED) if it has been
    cancelled.  */
-extern void pthread_testcancel (void) __THROW;
+extern void pthread_testcancel (void);
 
 
 /* Install a cleanup handler: ROUTINE will be called with arguments ARG

	Jakub


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