1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

Remove pthread_key_create-related internals from libc-lock.h

And libc-lockP.h.  This is no longer used because all internal
TLS use goes directly to the thread descriptor/TCB or uses ELF TLS.
This commit is contained in:
Florian Weimer
2021-04-21 19:49:51 +02:00
parent fada901819
commit 90e97b3720
3 changed files with 7 additions and 48 deletions

View File

@ -125,16 +125,4 @@
/* We need portable names for some of the functions. */ /* We need portable names for some of the functions. */
#define __libc_mutex_unlock #define __libc_mutex_unlock
/* Type for key of thread specific data. */
typedef int __libc_key_t;
/* Create key for thread specific data. */
#define __libc_key_create(KEY,DEST) ((void) (KEY), (void) (DEST), -1)
/* Set thread-specific data associated with KEY to VAL. */
#define __libc_setspecific(KEY,VAL) ((void) (KEY), (void) (VAL))
/* Get thread-specific data associated with KEY. */
#define __libc_getspecific(KEY) ((void) (KEY), (void *) 0)
#endif /* libc-lock.h */ #endif /* libc-lock.h */

View File

@ -22,9 +22,6 @@
#include <pthread.h> #include <pthread.h>
#include <pthread-functions.h> #include <pthread-functions.h>
/* Type for key to thread-specific data. */
typedef pthread_key_t __libc_key_t;
/* If we check for a weakly referenced symbol and then perform a /* If we check for a weakly referenced symbol and then perform a
normal jump to it te code generated for some platforms in case of normal jump to it te code generated for some platforms in case of
PIC is unnecessarily slow. What would happen is that the function PIC is unnecessarily slow. What would happen is that the function
@ -109,16 +106,6 @@ extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock);
extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock);
extern int __pthread_key_create (pthread_key_t *__key,
void (*__destr_function) (void *));
extern int __pthread_key_delete (pthread_key_t __key);
extern int __pthread_setspecific (pthread_key_t __key,
const void *__pointer);
extern void *__pthread_getspecific (pthread_key_t __key);
extern int __pthread_once (pthread_once_t *__once_control, extern int __pthread_once (pthread_once_t *__once_control,
void (*__init_routine) (void)); void (*__init_routine) (void));

View File

@ -49,9 +49,6 @@ typedef int __libc_lock_t;
typedef struct { pthread_mutex_t mutex; } __rtld_lock_recursive_t; typedef struct { pthread_mutex_t mutex; } __rtld_lock_recursive_t;
typedef pthread_rwlock_t __libc_rwlock_t; typedef pthread_rwlock_t __libc_rwlock_t;
/* Type for key to thread-specific data. */
typedef pthread_key_t __libc_key_t;
/* Define a lock variable NAME with storage class CLASS. The lock must be /* Define a lock variable NAME with storage class CLASS. The lock must be
initialized with __libc_lock_init before it can be used (or define it initialized with __libc_lock_init before it can be used (or define it
with __libc_lock_define_initialized, below). Use `extern' for CLASS to with __libc_lock_define_initialized, below). Use `extern' for CLASS to
@ -267,18 +264,13 @@ __libc_cleanup_routine (struct __pthread_cleanup_frame *f)
} while (0) } while (0)
#endif /* __EXCEPTIONS */ #endif /* __EXCEPTIONS */
/* Create thread-specific key. */ /* Register handlers to execute before and after `fork'. Note that the
#define __libc_key_create(KEY, DESTRUCTOR) \ last parameter is NULL. The handlers registered by the libc are
__libc_ptf_call (__pthread_key_create, (KEY, DESTRUCTOR), 1) never removed so this is OK. */
extern int __register_atfork (void (*__prepare) (void),
/* Get thread-specific data. */ void (*__parent) (void),
#define __libc_getspecific(KEY) \ void (*__child) (void),
__libc_ptf_call (__pthread_getspecific, (KEY), NULL) void *__dso_handle);
/* Set thread-specific data. */
#define __libc_setspecific(KEY, VALUE) \
__libc_ptf_call (__pthread_setspecific, (KEY, VALUE), 0)
/* Functions that are used by this file and are internal to the GNU C /* Functions that are used by this file and are internal to the GNU C
library. */ library. */
@ -316,14 +308,6 @@ extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock);
extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock);
extern int __pthread_key_create (pthread_key_t *__key,
void (*__destr_function) (void *));
extern int __pthread_setspecific (pthread_key_t __key,
const void *__pointer);
extern void *__pthread_getspecific (pthread_key_t __key);
extern int __pthread_once (pthread_once_t *__once_control, extern int __pthread_once (pthread_once_t *__once_control,
void (*__init_routine) (void)); void (*__init_routine) (void));
libc_hidden_proto (__pthread_once) libc_hidden_proto (__pthread_once)