From d790bc347dce29327b69260b5323d87d4fb7e936 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 25 Sep 1999 17:11:06 +0000 Subject: Update. * manager.c (__linuxthreads_pthread_threads_max): New variable. * specific.c (__linuxthreads_pthread_keys_max): New variable. 1999-09-23 Ulrich Drepper * specific.c: Move definitions of struct pthread_key_struct and destr_function to ... * internals.h: ...here. --- linuxthreads/ChangeLog | 9 +++++++++ linuxthreads/internals.h | 7 +++++++ linuxthreads/manager.c | 3 +++ linuxthreads/specific.c | 10 +++------- 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 + * 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 + + * specific.c: Move definitions of struct pthread_key_struct and + destr_function to ... + * internals.h: ...here. + 1999-09-18 Ulrich Drepper * 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; -- cgit v1.1