diff options
Diffstat (limited to 'linuxthreads')
-rw-r--r-- | linuxthreads/ChangeLog | 9 | ||||
-rw-r--r-- | linuxthreads/internals.h | 7 | ||||
-rw-r--r-- | linuxthreads/manager.c | 3 | ||||
-rw-r--r-- | linuxthreads/specific.c | 10 |
4 files changed, 22 insertions, 7 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 1881795b91..fcb5c81c14 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 032e0863f8..34297fe752 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 f1a5899404..b481fc890c 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 1dafecc2e8..83ea283ba5 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; |