summaryrefslogtreecommitdiffstats
path: root/lib/libpthread/thread/thr_sem.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libpthread/thread/thr_sem.c')
-rw-r--r--lib/libpthread/thread/thr_sem.c31
1 files changed, 20 insertions, 11 deletions
diff --git a/lib/libpthread/thread/thr_sem.c b/lib/libpthread/thread/thr_sem.c
index eb42919..926f498 100644
--- a/lib/libpthread/thread/thr_sem.c
+++ b/lib/libpthread/thread/thr_sem.c
@@ -31,7 +31,6 @@
#include <stdlib.h>
#include <errno.h>
-#ifdef _THREAD_SAFE
#include <semaphore.h>
#include <pthread.h>
#include "pthread_private.h"
@@ -43,8 +42,19 @@
goto RETURN; \
}
+#pragma weak sem_init=_sem_init
+#pragma weak sem_destroy=_sem_destroy
+#pragma weak sem_open=_sem_open
+#pragma weak sem_close=_sem_close
+#pragma weak sem_unlink=_sem_unlink
+#pragma weak sem_wait=_sem_wait
+#pragma weak sem_trywait=_sem_trywait
+#pragma weak sem_post=_sem_post
+#pragma weak sem_getvalue=_sem_getvalue
+
+
int
-sem_init(sem_t *sem, int pshared, unsigned int value)
+_sem_init(sem_t *sem, int pshared, unsigned int value)
{
int retval;
@@ -103,7 +113,7 @@ sem_init(sem_t *sem, int pshared, unsigned int value)
}
int
-sem_destroy(sem_t *sem)
+_sem_destroy(sem_t *sem)
{
int retval;
@@ -131,28 +141,28 @@ sem_destroy(sem_t *sem)
}
sem_t *
-sem_open(const char *name, int oflag, ...)
+_sem_open(const char *name, int oflag, ...)
{
errno = ENOSYS;
return SEM_FAILED;
}
int
-sem_close(sem_t *sem)
+_sem_close(sem_t *sem)
{
errno = ENOSYS;
return -1;
}
int
-sem_unlink(const char *name)
+_sem_unlink(const char *name)
{
errno = ENOSYS;
return -1;
}
int
-sem_wait(sem_t *sem)
+_sem_wait(sem_t *sem)
{
int retval;
@@ -178,7 +188,7 @@ sem_wait(sem_t *sem)
}
int
-sem_trywait(sem_t *sem)
+_sem_trywait(sem_t *sem)
{
int retval;
@@ -201,7 +211,7 @@ sem_trywait(sem_t *sem)
}
int
-sem_post(sem_t *sem)
+_sem_post(sem_t *sem)
{
int retval;
@@ -235,7 +245,7 @@ sem_post(sem_t *sem)
}
int
-sem_getvalue(sem_t *sem, int *sval)
+_sem_getvalue(sem_t *sem, int *sval)
{
int retval;
@@ -249,4 +259,3 @@ sem_getvalue(sem_t *sem, int *sval)
RETURN:
return retval;
}
-#endif
OpenPOWER on IntegriCloud