summaryrefslogtreecommitdiff
path: root/htl
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2021-02-03 13:50:21 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2021-02-08 14:10:42 -0300
commitda4aea0b5e60ec2351367b0facee24e6035a7129 (patch)
tree7892242d802abdadf07a9e27c7af8292940630a3 /htl
parente9fed2438a1ff475821864f906286dc58907f06b (diff)
downloadglibc-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/Makefile1
-rw-r--r--htl/semaphoreP.h21
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. */