diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-09-12 08:09:16 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-10-05 14:29:01 +0200 |
commit | c090db7405b72ce6d0b726c0a39fb1c1aebab7ea (patch) | |
tree | 099a887f445115e9b40d25cd6a2b2b11908d347d /cpukit/posix/include/rtems/posix/semaphore.h | |
parent | posix: Optimize pthread_once_t (diff) | |
download | rtems-c090db7405b72ce6d0b726c0a39fb1c1aebab7ea.tar.bz2 |
posix: Implement self-contained POSIX semaphores
For semaphore object pointer and object validation see
POSIX_SEMAPHORE_VALIDATE_OBJECT().
Destruction or close of a busy semaphore returns an error status. The
object is not flushed.
POSIX semaphores are now available in all configurations and no longer
depend on --enable-posix.
Update #2514.
Update #3116.
Diffstat (limited to 'cpukit/posix/include/rtems/posix/semaphore.h')
-rw-r--r-- | cpukit/posix/include/rtems/posix/semaphore.h | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/cpukit/posix/include/rtems/posix/semaphore.h b/cpukit/posix/include/rtems/posix/semaphore.h index 6598397052..9133db22be 100644 --- a/cpukit/posix/include/rtems/posix/semaphore.h +++ b/cpukit/posix/include/rtems/posix/semaphore.h @@ -21,7 +21,6 @@ #include <semaphore.h> #include <rtems/score/object.h> -#include <rtems/score/coresem.h> #ifdef __cplusplus extern "C" { @@ -41,19 +40,10 @@ extern "C" { */ typedef struct { - Objects_Control Object; - CORE_semaphore_Control Semaphore; - bool named; - bool linked; - uint32_t open_count; - /* - * sem_t is 32-bit. If Object_Id is 16-bit, then they are not - * interchangeable. We have to be able to return a pointer to - * a 32-bit form of the 16-bit Id. - */ - #if defined(RTEMS_USE_16_BIT_OBJECT) - sem_t Semaphore_id; - #endif + Objects_Control Object; + sem_t Semaphore; + bool linked; + uint32_t open_count; } POSIX_Semaphore_Control; /** @} */ |