* 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.
This commit is contained in:
Ulrich Drepper 1999-09-25 17:11:06 +00:00
parent 079c00e64c
commit d790bc347d
4 changed files with 22 additions and 7 deletions

View File

@ -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

View File

@ -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 } }

View File

@ -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;

View File

@ -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;