aboutsummaryrefslogtreecommitdiff
path: root/nptl/sem_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sem_init.c')
-rw-r--r--nptl/sem_init.c47
1 files changed, 7 insertions, 40 deletions
diff --git a/nptl/sem_init.c b/nptl/sem_init.c
index e29d900588..8709911ac3 100644
--- a/nptl/sem_init.c
+++ b/nptl/sem_init.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -22,7 +22,6 @@
#include <lowlevellock.h>
#include <shlib-compat.h>
#include "semaphoreP.h"
-#include <kernel-features.h>
int
@@ -39,50 +38,18 @@ __new_sem_init (sem, pshared, value)
}
/* Map to the internal type. */
- struct new_sem *isem = (struct new_sem *) sem;
+ struct sem *isem = (struct sem *) sem;
- /* Use the values the user provided. */
- isem->value = value;
-#ifdef __ASSUME_PRIVATE_FUTEX
- isem->private = pshared ? 0 : FUTEX_PRIVATE_FLAG;
-#else
- isem->private = pshared ? 0 : THREAD_GETMEM (THREAD_SELF,
- header.private_futex);
-#endif
+ /* Use the value the user provided. */
+ isem->count = value;
- isem->nwaiters = 0;
+ /* We can completely ignore the PSHARED parameter since inter-process
+ use needs no special preparation. */
return 0;
}
versioned_symbol (libpthread, __new_sem_init, sem_init, GLIBC_2_1);
-
-
-
#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
-int
-attribute_compat_text_section
-__old_sem_init (sem, pshared, value)
- sem_t *sem;
- int pshared;
- unsigned int value;
-{
- /* Parameter sanity check. */
- if (__builtin_expect (value > SEM_VALUE_MAX, 0))
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- /* Map to the internal type. */
- struct old_sem *isem = (struct old_sem *) sem;
-
- /* Use the value the user provided. */
- isem->value = value;
-
- /* We cannot store the PSHARED attribute. So we always use the
- operations needed for shared semaphores. */
-
- return 0;
-}
+strong_alias (__new_sem_init, __old_sem_init)
compat_symbol (libpthread, __old_sem_init, sem_init, GLIBC_2_0);
#endif