diff options
author | Chris Johns <chrisj@rtems.org> | 2013-08-14 10:21:41 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2013-08-14 10:21:41 +1000 |
commit | 03acc5915e002f0b03eee9e86212209705cca6d6 (patch) | |
tree | 93c452a3f546f0d6f4456481c78e9fc6d4a6e082 /cpukit/posix/Makefile.am | |
parent | posix: Handle recursive attributes correctly. (diff) | |
download | rtems-03acc5915e002f0b03eee9e86212209705cca6d6.tar.bz2 |
posix: Change pthread_once to be SMP safe.
Change pthread_once from using disabled pre-emption to using a
pthread mutex making it SMP safe. GCC using a posix threading
model uses pthread_once.
The pthread mutex requires at least 1 mutex is configured so
confdefs.h has been updated to account for the internal
mutex.
Diffstat (limited to 'cpukit/posix/Makefile.am')
-rw-r--r-- | cpukit/posix/Makefile.am | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/cpukit/posix/Makefile.am b/cpukit/posix/Makefile.am index 1b83eee090..ea6d3d983d 100644 --- a/cpukit/posix/Makefile.am +++ b/cpukit/posix/Makefile.am @@ -33,6 +33,7 @@ include_rtems_posix_HEADERS += include/rtems/posix/mqueue.h include_rtems_posix_HEADERS += include/rtems/posix/mqueueimpl.h include_rtems_posix_HEADERS += include/rtems/posix/mutex.h include_rtems_posix_HEADERS += include/rtems/posix/muteximpl.h +include_rtems_posix_HEADERS += include/rtems/posix/onceimpl.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/psignal.h @@ -115,6 +116,9 @@ libposix_a_SOURCES += src/mutexattrdestroy.c src/mutexattrgetprioceiling.c \ src/mutexlocksupp.c src/mutexsetprioceiling.c src/mutextimedlock.c \ src/mutextranslatereturncode.c src/mutextrylock.c src/mutexunlock.c +## ONCE_C_FILES +libposix_a_SOURCES += src/once.c src/pthreadonce.c + ## PTHREAD_C_FILES libposix_a_SOURCES += src/pthreadatfork.c src/pthreadattrdestroy.c \ src/pthreadattrgetdetachstate.c src/pthreadattrgetinheritsched.c \ @@ -131,7 +135,7 @@ libposix_a_SOURCES += src/pthreadatfork.c src/pthreadattrdestroy.c \ src/pthreadexit.c src/pthreadgetcpuclockid.c \ src/pthreadgetschedparam.c \ src/pthreadinitthreads.c src/pthreadjoin.c src/pthreadkill.c \ - src/pthreadonce.c src/pthreadself.c \ + src/pthreadself.c \ src/pthreadsetschedparam.c src/pthreadsigmask.c \ src/psxpriorityisvalid.c src/psxtransschedparam.c |