summary refs log tree commit diff
path: root/linuxthreads/restart.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-04-15 17:39:36 +0000
committerUlrich Drepper <drepper@redhat.com>2000-04-15 17:39:36 +0000
commit150f740ace60e238094cde1ecf03e5c1c0e0d3ff (patch)
tree5b37cc3b5862575fc7b465b17c9e913dc33e3962 /linuxthreads/restart.h
parentef187474bc32c56121db454e023197f2037e601d (diff)
downloadglibc-150f740ace60e238094cde1ecf03e5c1c0e0d3ff.tar.gz
glibc-150f740ace60e238094cde1ecf03e5c1c0e0d3ff.tar.xz
glibc-150f740ace60e238094cde1ecf03e5c1c0e0d3ff.zip
Update.
	* sysdeps/unix/sysv/linux/alpha/adjtime.c: Fix typo in
	compat_symbol call for old adjtime.

	* sysdeps/alpha/dl-machine.h (RTLD_START): Rewrite for new init
Diffstat (limited to 'linuxthreads/restart.h')
-rw-r--r--linuxthreads/restart.h24
1 files changed, 20 insertions, 4 deletions
diff --git a/linuxthreads/restart.h b/linuxthreads/restart.h
index 0a69309c5b..24d9fab748 100644
--- a/linuxthreads/restart.h
+++ b/linuxthreads/restart.h
@@ -13,21 +13,37 @@
 /* GNU Library General Public License for more details.                 */
 
 #include <signal.h>
+#include <kernel-features.h>
 
 /* Primitives for controlling thread execution */
 
 static inline void restart(pthread_descr th)
 {
-  __pthread_restart(th); /* see pthread.c */ 
+  /* See pthread.c */
+#if __ASSUME_REALTIME_SIGNALS
+  __pthread_restart_new(th);
+#else
+  __pthread_restart(th);
+#endif
 }
 
 static inline void suspend(pthread_descr self)
 {
-  __pthread_suspend(self); /* see pthread.c */
+  /* See pthread.c */
+#if __ASSUME_REALTIME_SIGNALS
+  __pthread_wait_for_restart_signal(self);
+#else
+  __pthread_suspend(self);
+#endif
 }
 
-static inline int timedsuspend(pthread_descr self, 
+static inline int timedsuspend(pthread_descr self,
 		const struct timespec *abstime)
 {
-   return __pthread_timedsuspend(self, abstime); /* see pthread.c */
+  /* See pthread.c */
+#if __ASSUME_REALTIME_SIGNALS
+  return __pthread_timedsuspend_new(self, abstime);
+#else
+  return __pthread_timedsuspend(self, abstime);
+#endif
 }