diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-02-03 13:50:21 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-02-08 14:10:42 -0300 |
commit | da4aea0b5e60ec2351367b0facee24e6035a7129 (patch) | |
tree | 7892242d802abdadf07a9e27c7af8292940630a3 /htl | |
parent | e9fed2438a1ff475821864f906286dc58907f06b (diff) | |
download | glibc-da4aea0b5e60ec2351367b0facee24e6035a7129.tar.gz |
pthread: Refactor semaphore code
The internal semaphore list code is moved to a specific file,
sem_routine.c, and the internal usage is simplified to only two
functions (one to insert a new semaphore and one to remove it
from the internal list). There is no need to expose the
internal locking, neither how the semaphore mapping is implemented.
No functional or semantic change is expected, tested on
x86_64-linux-gnu.
Diffstat (limited to 'htl')
-rw-r--r-- | htl/Makefile | 1 | ||||
-rw-r--r-- | htl/semaphoreP.h | 21 |
2 files changed, 1 insertions, 21 deletions
diff --git a/htl/Makefile b/htl/Makefile index 9adc95e07f..c15c1b194e 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -131,6 +131,7 @@ libpthread-routines := pt-attr pt-attr-destroy pt-attr-getdetachstate \ sem_close sem-destroy sem-getvalue sem-init sem_open \ sem-post sem-timedwait sem-trywait sem_unlink \ sem-wait sem-waitfast \ + sem_routines \ \ cancellation \ cthreads-compat \ diff --git a/htl/semaphoreP.h b/htl/semaphoreP.h index 3d6efcdec7..4b13f7b30d 100644 --- a/htl/semaphoreP.h +++ b/htl/semaphoreP.h @@ -21,27 +21,6 @@ #define SEM_SHM_PREFIX "sem." -/* Keeping track of currently used mappings. */ -struct inuse_sem -{ - dev_t dev; - ino_t ino; - int refcnt; - sem_t *sem; - char name[]; -}; - - -/* The search tree for existing mappings. */ -extern void *__sem_mappings attribute_hidden; - -/* Lock to protect the search tree. */ -extern int __sem_mappings_lock attribute_hidden; - - -/* Comparison function for search in tree with existing mappings. */ -extern int __sem_search (const void *a, const void *b) attribute_hidden; - static inline void __new_sem_open_init (struct new_sem *sem, unsigned value) { /* This always is a shared semaphore. */ |