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.
This commit is contained in:
parent
079c00e64c
commit
d790bc347d
|
@ -1,5 +1,8 @@
|
||||||
1999-09-25 Ulrich Drepper <drepper@cygnus.com>
|
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
|
* condvar.c (pthread_cond_timedwait_relative): Never return with
|
||||||
EINTR. Patch by Andreas Schwab.
|
EINTR. Patch by Andreas Schwab.
|
||||||
|
|
||||||
|
@ -9,6 +12,12 @@
|
||||||
pthread_sighandler_rt based on the signal number but instead of
|
pthread_sighandler_rt based on the signal number but instead of
|
||||||
the SA_SIGINFO flag.
|
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>
|
1999-09-18 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
* pthread.c (pthread_handle_sigrestart_rt): New function. Use
|
* pthread.c (pthread_handle_sigrestart_rt): New function. Use
|
||||||
|
|
|
@ -63,6 +63,13 @@ struct pthread_start_args {
|
||||||
((PTHREAD_KEYS_MAX + PTHREAD_KEY_2NDLEVEL_SIZE - 1) \
|
((PTHREAD_KEYS_MAX + PTHREAD_KEY_2NDLEVEL_SIZE - 1) \
|
||||||
/ PTHREAD_KEY_2NDLEVEL_SIZE)
|
/ 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 } }
|
#define PTHREAD_START_ARGS_INITIALIZER { NULL, NULL, {{0, }}, 0, { 0 } }
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,9 @@ struct pthread_handle_struct __pthread_handles[PTHREAD_THREADS_MAX] =
|
||||||
{ { LOCK_INITIALIZER, &__pthread_initial_thread, 0},
|
{ { LOCK_INITIALIZER, &__pthread_initial_thread, 0},
|
||||||
{ LOCK_INITIALIZER, &__pthread_manager_thread, 0}, /* All NULLs */ };
|
{ 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),
|
/* Indicate whether at least one thread has a user-defined stack (if 1),
|
||||||
or if all threads have stacks supplied by LinuxThreads (if 0). */
|
or if all threads have stacks supplied by LinuxThreads (if 0). */
|
||||||
int __pthread_nonstandard_stacks = 0;
|
int __pthread_nonstandard_stacks = 0;
|
||||||
|
|
|
@ -20,18 +20,14 @@
|
||||||
#include "pthread.h"
|
#include "pthread.h"
|
||||||
#include "internals.h"
|
#include "internals.h"
|
||||||
|
|
||||||
typedef void (*destr_function)(void *);
|
|
||||||
|
|
||||||
/* Table of keys. */
|
/* 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] =
|
static struct pthread_key_struct pthread_keys[PTHREAD_KEYS_MAX] =
|
||||||
{ { 0, NULL } };
|
{ { 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 */
|
/* Mutex to protect access to pthread_keys */
|
||||||
|
|
||||||
static pthread_mutex_t pthread_keys_mutex = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t pthread_keys_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
Loading…
Reference in New Issue