aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-09-25 17:11:06 +0000
committerUlrich Drepper <drepper@redhat.com>1999-09-25 17:11:06 +0000
commitd790bc347dce29327b69260b5323d87d4fb7e936 (patch)
tree0af0325ca401d16552f9dbf6bd13f0d73bf57825
parent079c00e64c9f6aafcd816790d49cb144d00a6a18 (diff)
downloadglibc-d790bc347dce29327b69260b5323d87d4fb7e936.zip
glibc-d790bc347dce29327b69260b5323d87d4fb7e936.tar.gz
glibc-d790bc347dce29327b69260b5323d87d4fb7e936.tar.bz2
Update.
* manager.c (__linuxthreads_pthread_threads_max): New variable. * specific.c (__linuxthreads_pthread_keys_max): New variable. 1999-09-23 Ulrich Drepper <drepper@cygnus.com> * specific.c: Move definitions of struct pthread_key_struct and destr_function to ... * internals.h: ...here.
-rw-r--r--linuxthreads/ChangeLog9
-rw-r--r--linuxthreads/internals.h7
-rw-r--r--linuxthreads/manager.c3
-rw-r--r--linuxthreads/specific.c10
4 files changed, 22 insertions, 7 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 1881795..fcb5c81 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,5 +1,8 @@
1999-09-25 Ulrich Drepper <drepper@cygnus.com>
+ * manager.c (__linuxthreads_pthread_threads_max): New variable.
+ * specific.c (__linuxthreads_pthread_keys_max): New variable.
+
* condvar.c (pthread_cond_timedwait_relative): Never return with
EINTR. Patch by Andreas Schwab.
@@ -9,6 +12,12 @@
pthread_sighandler_rt based on the signal number but instead of
the SA_SIGINFO flag.
+1999-09-23 Ulrich Drepper <drepper@cygnus.com>
+
+ * specific.c: Move definitions of struct pthread_key_struct and
+ destr_function to ...
+ * internals.h: ...here.
+
1999-09-18 Ulrich Drepper <drepper@cygnus.com>
* pthread.c (pthread_handle_sigrestart_rt): New function. Use
diff --git a/linuxthreads/internals.h b/linuxthreads/internals.h
index 032e086..34297fe 100644
--- a/linuxthreads/internals.h
+++ b/linuxthreads/internals.h
@@ -63,6 +63,13 @@ struct pthread_start_args {
((PTHREAD_KEYS_MAX + PTHREAD_KEY_2NDLEVEL_SIZE - 1) \
/ PTHREAD_KEY_2NDLEVEL_SIZE)
+typedef void (*destr_function)(void *);
+
+struct pthread_key_struct {
+ int in_use; /* already allocated? */
+ destr_function destr; /* destruction routine */
+};
+
#define PTHREAD_START_ARGS_INITIALIZER { NULL, NULL, {{0, }}, 0, { 0 } }
diff --git a/linuxthreads/manager.c b/linuxthreads/manager.c
index f1a5899..b481fc8 100644
--- a/linuxthreads/manager.c
+++ b/linuxthreads/manager.c
@@ -38,6 +38,9 @@ struct pthread_handle_struct __pthread_handles[PTHREAD_THREADS_MAX] =
{ { LOCK_INITIALIZER, &__pthread_initial_thread, 0},
{ LOCK_INITIALIZER, &__pthread_manager_thread, 0}, /* All NULLs */ };
+/* For debugging purposes put the maximum number of threads in a variable. */
+const int __linuxthreads_pthread_threads_max = PTHREAD_THREADS_MAX;
+
/* Indicate whether at least one thread has a user-defined stack (if 1),
or if all threads have stacks supplied by LinuxThreads (if 0). */
int __pthread_nonstandard_stacks = 0;
diff --git a/linuxthreads/specific.c b/linuxthreads/specific.c
index 1dafecc..83ea283 100644
--- a/linuxthreads/specific.c
+++ b/linuxthreads/specific.c
@@ -20,18 +20,14 @@
#include "pthread.h"
#include "internals.h"
-typedef void (*destr_function)(void *);
-
/* Table of keys. */
-struct pthread_key_struct {
- int in_use; /* already allocated? */
- destr_function destr; /* destruction routine */
-};
-
static struct pthread_key_struct pthread_keys[PTHREAD_KEYS_MAX] =
{ { 0, NULL } };
+/* For debugging purposes put the maximum number of keys in a variable. */
+const int __linuxthreads_pthread_keys_max = PTHREAD_KEYS_MAX;
+
/* Mutex to protect access to pthread_keys */
static pthread_mutex_t pthread_keys_mutex = PTHREAD_MUTEX_INITIALIZER;