aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-04-20 07:39:20 +0000
committerUlrich Drepper <drepper@redhat.com>2003-04-20 07:39:20 +0000
commitd63c3a705769aecf8ec9064a47c955f41a2e99a8 (patch)
tree507b51fa3c93baa414e29d3349837d5f0a993f33 /linuxthreads
parent40c90e006d41e460fba83e79dc325c60d63e64f3 (diff)
downloadglibc-d63c3a705769aecf8ec9064a47c955f41a2e99a8.tar
glibc-d63c3a705769aecf8ec9064a47c955f41a2e99a8.tar.gz
glibc-d63c3a705769aecf8ec9064a47c955f41a2e99a8.tar.bz2
glibc-d63c3a705769aecf8ec9064a47c955f41a2e99a8.zip
Update.
2003-04-20 Ulrich Drepper <drepper@redhat.com> * internals.h: Split pthread_functions definition into... * sysdeps/pthread/pthread-functions.h: ...new file. * sysdeps/i386/useldt.h: Include <sysdep.h>.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog7
-rw-r--r--linuxthreads/internals.h60
-rw-r--r--linuxthreads/sysdeps/i386/useldt.h2
-rw-r--r--linuxthreads/sysdeps/pthread/pthread-functions.h88
4 files changed, 97 insertions, 60 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 2fb152b342..093cce8e2c 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,10 @@
+2003-04-20 Ulrich Drepper <drepper@redhat.com>
+
+ * internals.h: Split pthread_functions definition into...
+ * sysdeps/pthread/pthread-functions.h: ...new file.
+
+ * sysdeps/i386/useldt.h: Include <sysdep.h>.
+
2003-04-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Rename macros to
diff --git a/linuxthreads/internals.h b/linuxthreads/internals.h
index eb5ba13e7e..d3b8bbe5e6 100644
--- a/linuxthreads/internals.h
+++ b/linuxthreads/internals.h
@@ -29,6 +29,7 @@
#include "descr.h"
#include "semaphore.h"
+#include <pthread-functions.h>
#ifndef THREAD_GETMEM
# define THREAD_GETMEM(descr, member) descr->member
@@ -469,7 +470,6 @@ extern void __libc_disable_asynccancel (int oldtype)
extern void __pthread_cleanup_upto (__jmp_buf target,
char *targetframe) attribute_hidden;
-struct fork_block;
extern pid_t __pthread_fork (struct fork_block *b) attribute_hidden;
#if !defined NOT_IN_libc
@@ -494,64 +494,6 @@ extern pid_t __pthread_fork (struct fork_block *b) attribute_hidden;
# define LIBC_CANCEL_HANDLED() /* Nothing. */
#endif
-/* Data type shared with libc. The libc uses it to pass on calls to
- the thread functions. */
-struct pthread_functions
-{
- pid_t (*ptr_pthread_fork) (struct fork_block *);
- int (*ptr_pthread_attr_destroy) (pthread_attr_t *);
- int (*ptr___pthread_attr_init_2_0) (pthread_attr_t *);
- int (*ptr___pthread_attr_init_2_1) (pthread_attr_t *);
- int (*ptr_pthread_attr_getdetachstate) (const pthread_attr_t *, int *);
- int (*ptr_pthread_attr_setdetachstate) (pthread_attr_t *, int);
- int (*ptr_pthread_attr_getinheritsched) (const pthread_attr_t *, int *);
- int (*ptr_pthread_attr_setinheritsched) (pthread_attr_t *, int);
- int (*ptr_pthread_attr_getschedparam) (const pthread_attr_t *,
- struct sched_param *);
- int (*ptr_pthread_attr_setschedparam) (pthread_attr_t *,
- const struct sched_param *);
- int (*ptr_pthread_attr_getschedpolicy) (const pthread_attr_t *, int *);
- int (*ptr_pthread_attr_setschedpolicy) (pthread_attr_t *, int);
- int (*ptr_pthread_attr_getscope) (const pthread_attr_t *, int *);
- int (*ptr_pthread_attr_setscope) (pthread_attr_t *, int);
- int (*ptr_pthread_condattr_destroy) (pthread_condattr_t *);
- int (*ptr_pthread_condattr_init) (pthread_condattr_t *);
- int (*ptr___pthread_cond_broadcast) (pthread_cond_t *);
- int (*ptr___pthread_cond_destroy) (pthread_cond_t *);
- int (*ptr___pthread_cond_init) (pthread_cond_t *,
- const pthread_condattr_t *);
- int (*ptr___pthread_cond_signal) (pthread_cond_t *);
- int (*ptr___pthread_cond_wait) (pthread_cond_t *, pthread_mutex_t *);
- int (*ptr_pthread_equal) (pthread_t, pthread_t);
- void (*ptr___pthread_exit) (void *);
- int (*ptr_pthread_getschedparam) (pthread_t, int *, struct sched_param *);
- int (*ptr_pthread_setschedparam) (pthread_t, int,
- const struct sched_param *);
- int (*ptr_pthread_mutex_destroy) (pthread_mutex_t *);
- int (*ptr_pthread_mutex_init) (pthread_mutex_t *,
- const pthread_mutexattr_t *);
- int (*ptr_pthread_mutex_lock) (pthread_mutex_t *);
- int (*ptr_pthread_mutex_trylock) (pthread_mutex_t *);
- int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *);
- pthread_t (*ptr_pthread_self) (void);
- int (*ptr_pthread_setcancelstate) (int, int *);
- int (*ptr_pthread_setcanceltype) (int, int *);
- void (*ptr_pthread_do_exit) (void *retval, char *currentframe);
- void (*ptr_pthread_cleanup_upto) (__jmp_buf target,
- char *targetframe);
- pthread_descr (*ptr_pthread_thread_self) (void);
- int (*ptr_pthread_internal_tsd_set) (int key, const void *pointer);
- void * (*ptr_pthread_internal_tsd_get) (int key);
- void ** __attribute__ ((__const__))
- (*ptr_pthread_internal_tsd_address) (int key);
- int (*ptr_pthread_sigaction) (int sig, const struct sigaction * act,
- struct sigaction *oact);
- int (*ptr_pthread_sigwait) (const sigset_t *set, int *sig);
- int (*ptr_pthread_raise) (int sig);
-};
-
-/* Variable in libc.so. */
-extern struct pthread_functions __libc_pthread_functions attribute_hidden;
extern int * __libc_pthread_init (const struct pthread_functions *functions);
#if !defined NOT_IN_libc && !defined FLOATING_STACKS
diff --git a/linuxthreads/sysdeps/i386/useldt.h b/linuxthreads/sysdeps/i386/useldt.h
index 0b28a32978..a4d4fd22c8 100644
--- a/linuxthreads/sysdeps/i386/useldt.h
+++ b/linuxthreads/sysdeps/i386/useldt.h
@@ -22,6 +22,7 @@
#ifndef __ASSEMBLER__
#include <stddef.h> /* For offsetof. */
#include <stdlib.h> /* For abort(). */
+#include <sysdep.h>
/* We don't want to include the kernel header. So duplicate the
@@ -307,4 +308,3 @@ extern int __have_no_set_thread_area;
/* Maximum size of the stack if the rlimit is unlimited. */
#define ARCH_STACK_MAX_SIZE 8*1024*1024
#endif
-
diff --git a/linuxthreads/sysdeps/pthread/pthread-functions.h b/linuxthreads/sysdeps/pthread/pthread-functions.h
new file mode 100644
index 0000000000..f47b46ff6e
--- /dev/null
+++ b/linuxthreads/sysdeps/pthread/pthread-functions.h
@@ -0,0 +1,88 @@
+/* Copyright (C) 2003 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#ifndef _PTHREAD_FUNCTIONS_H
+#define _PTHREAD_FUNCTIONS_H 1
+
+#include <pthread.h>
+#include <setjmp.h>
+#include <linuxthreads/descr.h>
+
+struct fork_block;
+
+/* Data type shared with libc. The libc uses it to pass on calls to
+ the thread functions. */
+struct pthread_functions
+{
+ pid_t (*ptr_pthread_fork) (struct fork_block *);
+ int (*ptr_pthread_attr_destroy) (pthread_attr_t *);
+ int (*ptr___pthread_attr_init_2_0) (pthread_attr_t *);
+ int (*ptr___pthread_attr_init_2_1) (pthread_attr_t *);
+ int (*ptr_pthread_attr_getdetachstate) (const pthread_attr_t *, int *);
+ int (*ptr_pthread_attr_setdetachstate) (pthread_attr_t *, int);
+ int (*ptr_pthread_attr_getinheritsched) (const pthread_attr_t *, int *);
+ int (*ptr_pthread_attr_setinheritsched) (pthread_attr_t *, int);
+ int (*ptr_pthread_attr_getschedparam) (const pthread_attr_t *,
+ struct sched_param *);
+ int (*ptr_pthread_attr_setschedparam) (pthread_attr_t *,
+ const struct sched_param *);
+ int (*ptr_pthread_attr_getschedpolicy) (const pthread_attr_t *, int *);
+ int (*ptr_pthread_attr_setschedpolicy) (pthread_attr_t *, int);
+ int (*ptr_pthread_attr_getscope) (const pthread_attr_t *, int *);
+ int (*ptr_pthread_attr_setscope) (pthread_attr_t *, int);
+ int (*ptr_pthread_condattr_destroy) (pthread_condattr_t *);
+ int (*ptr_pthread_condattr_init) (pthread_condattr_t *);
+ int (*ptr___pthread_cond_broadcast) (pthread_cond_t *);
+ int (*ptr___pthread_cond_destroy) (pthread_cond_t *);
+ int (*ptr___pthread_cond_init) (pthread_cond_t *,
+ const pthread_condattr_t *);
+ int (*ptr___pthread_cond_signal) (pthread_cond_t *);
+ int (*ptr___pthread_cond_wait) (pthread_cond_t *, pthread_mutex_t *);
+ int (*ptr_pthread_equal) (pthread_t, pthread_t);
+ void (*ptr___pthread_exit) (void *);
+ int (*ptr_pthread_getschedparam) (pthread_t, int *, struct sched_param *);
+ int (*ptr_pthread_setschedparam) (pthread_t, int,
+ const struct sched_param *);
+ int (*ptr_pthread_mutex_destroy) (pthread_mutex_t *);
+ int (*ptr_pthread_mutex_init) (pthread_mutex_t *,
+ const pthread_mutexattr_t *);
+ int (*ptr_pthread_mutex_lock) (pthread_mutex_t *);
+ int (*ptr_pthread_mutex_trylock) (pthread_mutex_t *);
+ int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *);
+ pthread_t (*ptr_pthread_self) (void);
+ int (*ptr_pthread_setcancelstate) (int, int *);
+ int (*ptr_pthread_setcanceltype) (int, int *);
+ void (*ptr_pthread_do_exit) (void *retval, char *currentframe);
+ void (*ptr_pthread_cleanup_upto) (__jmp_buf target,
+ char *targetframe);
+ pthread_descr (*ptr_pthread_thread_self) (void);
+ int (*ptr_pthread_internal_tsd_set) (int key, const void *pointer);
+ void * (*ptr_pthread_internal_tsd_get) (int key);
+ void ** __attribute__ ((__const__))
+ (*ptr_pthread_internal_tsd_address) (int key);
+ int (*ptr_pthread_sigaction) (int sig, const struct sigaction * act,
+ struct sigaction *oact);
+ int (*ptr_pthread_sigwait) (const sigset_t *set, int *sig);
+ int (*ptr_pthread_raise) (int sig);
+};
+
+/* Variable in libc.so. */
+extern struct pthread_functions __libc_pthread_functions attribute_hidden;
+
+#endif /* pthread-functions.h */