aboutsummaryrefslogtreecommitdiff
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
glibc-f07d234541c487e2e14ba83b03571179b4e32b1a.tar.gz
glibc-f07d234541c487e2e14ba83b03571179b4e32b1a.tar.bz2
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 */