summaryrefslogtreecommitdiffstats
path: root/c/src/exec/posix/src/semaphorewaitsupp.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/exec/posix/src/semaphorewaitsupp.c')
-rw-r--r--c/src/exec/posix/src/semaphorewaitsupp.c71
1 files changed, 0 insertions, 71 deletions
diff --git a/c/src/exec/posix/src/semaphorewaitsupp.c b/c/src/exec/posix/src/semaphorewaitsupp.c
deleted file mode 100644
index d3fd9787ce..0000000000
--- a/c/src/exec/posix/src/semaphorewaitsupp.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * $Id$
- */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdarg.h>
-
-#include <errno.h>
-#include <fcntl.h>
-#include <pthread.h>
-#include <semaphore.h>
-#include <limits.h>
-
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/posix/semaphore.h>
-#include <rtems/posix/time.h>
-#include <rtems/seterr.h>
-
-/*PAGE
- *
- * _POSIX_Semaphore_Wait_support
- */
-
-int _POSIX_Semaphore_Wait_support(
- sem_t *sem,
- boolean blocking,
- Watchdog_Interval timeout
-)
-{
- register POSIX_Semaphore_Control *the_semaphore;
- Objects_Locations location;
-
- the_semaphore = _POSIX_Semaphore_Get( sem, &location );
- switch ( location ) {
- case OBJECTS_ERROR:
- rtems_set_errno_and_return_minus_one( EINVAL );
- case OBJECTS_REMOTE:
- _Thread_Dispatch();
- rtems_set_errno_and_return_minus_one( EINVAL );
- case OBJECTS_LOCAL:
- _CORE_semaphore_Seize(
- &the_semaphore->Semaphore,
- the_semaphore->Object.id,
- blocking,
- timeout
- );
- _Thread_Enable_dispatch();
- switch ( _Thread_Executing->Wait.return_code ) {
- case CORE_SEMAPHORE_STATUS_SUCCESSFUL:
- break;
- case CORE_SEMAPHORE_STATUS_UNSATISFIED_NOWAIT:
- rtems_set_errno_and_return_minus_one( EAGAIN );
- case CORE_SEMAPHORE_WAS_DELETED:
- rtems_set_errno_and_return_minus_one( EAGAIN );
- case CORE_SEMAPHORE_TIMEOUT:
- rtems_set_errno_and_return_minus_one( ETIMEDOUT );
- break;
- case CORE_SEMAPHORE_MAXIMUM_COUNT_EXCEEDED:
- /*
- * This error can not occur since we set the maximum
- * count to the largest value the count can hold.
- */
- break;
- }
- }
- return 0;
-}