From c090db7405b72ce6d0b726c0a39fb1c1aebab7ea Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 12 Sep 2017 08:09:16 +0200 Subject: 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. --- cpukit/posix/Makefile.am | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'cpukit/posix/Makefile.am') diff --git a/cpukit/posix/Makefile.am b/cpukit/posix/Makefile.am index 3bb5bd29f9..1d9e209101 100644 --- a/cpukit/posix/Makefile.am +++ b/cpukit/posix/Makefile.am @@ -21,6 +21,8 @@ include_rtems_posix_HEADERS += include/rtems/posix/keyimpl.h include_rtems_posix_HEADERS += include/rtems/posix/config.h include_rtems_posix_HEADERS += include/rtems/posix/posixapi.h include_rtems_posix_HEADERS += include/rtems/posix/priorityimpl.h +include_rtems_posix_HEADERS += include/rtems/posix/semaphore.h +include_rtems_posix_HEADERS += include/rtems/posix/semaphoreimpl.h include_rtems_posix_HEADERS += include/rtems/posix/spinlockimpl.h if HAS_PTHREADS @@ -44,8 +46,6 @@ include_rtems_posix_HEADERS += include/rtems/posix/pthreadimpl.h include_rtems_posix_HEADERS += include/rtems/posix/ptimer.h include_rtems_posix_HEADERS += include/rtems/posix/shm.h include_rtems_posix_HEADERS += include/rtems/posix/shmimpl.h -include_rtems_posix_HEADERS += include/rtems/posix/semaphore.h -include_rtems_posix_HEADERS += include/rtems/posix/semaphoreimpl.h include_rtems_posix_HEADERS += include/rtems/posix/threadsup.h include_rtems_posix_HEADERS += include/rtems/posix/timer.h include_rtems_posix_HEADERS += include/rtems/posix/timerimpl.h @@ -186,6 +186,15 @@ libposix_a_SOURCES += src/pspininit.c libposix_a_SOURCES += src/pspinlock.c libposix_a_SOURCES += src/pspinunlock.c +## SEMAPHORE_C_FILES +libposix_a_SOURCES += src/semdestroy.c +libposix_a_SOURCES += src/semgetvalue.c +libposix_a_SOURCES += src/seminit.c +libposix_a_SOURCES += src/sempost.c +libposix_a_SOURCES += src/semtimedwait.c +libposix_a_SOURCES += src/semtrywait.c +libposix_a_SOURCES += src/semwait.c + if HAS_PTHREADS libposix_a_SOURCES += src/sigpending.c \ src/sigqueue.c src/sigsuspend.c src/sigtimedwait.c \ @@ -199,12 +208,11 @@ libposix_a_SOURCES += src/prwlock.c src/prwlockdestroy.c src/prwlockinit.c \ src/rwlockattrinit.c src/rwlockattrsetpshared.c ## SEMAPHORE_C_FILES -libposix_a_SOURCES += src/semaphore.c src/semaphorecreatesupp.c \ - src/semaphoredeletesupp.c \ - src/semaphorewaitsupp.c \ - src/semclose.c src/semdestroy.c src/semgetvalue.c src/seminit.c \ - src/semopen.c src/sempost.c src/semtimedwait.c src/semtrywait.c \ - src/semunlink.c src/semwait.c +libposix_a_SOURCES += src/semaphore.c +libposix_a_SOURCES += src/semaphoredeletesupp.c +libposix_a_SOURCES += src/semclose.c +libposix_a_SOURCES += src/semopen.c +libposix_a_SOURCES += src/semunlink.c ## TIME_C_FILES libposix_a_SOURCES += src/adjtime.c src/clockgetcpuclockid.c -- cgit v1.2.3