about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-03-28 06:22:13 +0000
committerUlrich Drepper <drepper@redhat.com>2003-03-28 06:22:13 +0000
commitf07d234541c487e2e14ba83b03571179b4e32b1a (patch)
treea549d5fe234a5b52769d48199ccdc3cedb2cbf8a
parentd270cb11f7690f78652d3d07d76e713349c441fb (diff)
downloadglibc-f07d234541c487e2e14ba83b03571179b4e32b1a.tar.gz
glibc-f07d234541c487e2e14ba83b03571179b4e32b1a.tar.xz
glibc-f07d234541c487e2e14ba83b03571179b4e32b1a.zip
Don't declare __timer_helper_thread. Declare __start_helper_thread, __helper_once, and __helper_tid. (struct timer): Remove th and bar field.
-rw-r--r--nptl/sysdeps/unix/sysv/linux/kernel-posix-timers.h20
1 files changed, 9 insertions, 11 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/kernel-posix-timers.h b/nptl/sysdeps/unix/sysv/linux/kernel-posix-timers.h
index 6e7e029a2d..3ff4cda3f4 100644
--- a/nptl/sysdeps/unix/sysv/linux/kernel-posix-timers.h
+++ b/nptl/sysdeps/unix/sysv/linux/kernel-posix-timers.h
@@ -20,13 +20,20 @@
 #include <pthread.h>
 #include <setjmp.h>
 #include <signal.h>
+#include <sys/types.h>
 
 
 /* Nonzero if the system calls are not available.  */
 extern int __no_posix_timers attribute_hidden;
 
-/* Helper function to implement SIGEV_THREAD.  */
-extern void *__timer_helper_thread (void *arg) attribute_hidden;
+/* Callback to start helper thread.  */
+extern void __start_helper_thread (void) attribute_hidden;
+
+/* Control variable for helper thread creation.  */
+extern pthread_once_t __helper_once attribute_hidden;
+
+/* TID of the helper thread.  */
+extern pid_t __helper_tid attribute_hidden;
 
 
 /* Type of timers in the kernel.  */
@@ -50,13 +57,4 @@ struct timer
   void (*thrfunc) (sigval_t);
   sigval_t sival;
   pthread_attr_t attr;
-
-  /* Id of the helper thread.  */
-  pthread_t th;
-
-  /* Barrier used for synchronization.  */
-  pthread_barrier_t bar;
 };
-
-/* This is the signal the kernel will send to the helper thread.  */
-#define TIMER_SIG 40 /* some RT signal */