diff options
author | Václav Haisman <vhaisman@gmail.com> | 2016-02-12 22:25:59 +0100 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2016-02-13 16:03:15 +0100 |
commit | 813da84442d7c742fccdfa8cb517757cc39eec68 (patch) | |
tree | 8e264e4047f14fde57686b88a0739c9063f98cb6 /winsup/cygwin/common.din | |
parent | ef64aa4940e1d9120875a74f37b8419680f535e3 (diff) | |
download | newlib-813da84442d7c742fccdfa8cb517757cc39eec68.zip newlib-813da84442d7c742fccdfa8cb517757cc39eec68.tar.gz newlib-813da84442d7c742fccdfa8cb517757cc39eec68.tar.bz2 |
POSIX barrier implementation, take 3
The attached patch should address all of the review comments.
Modifed change log:
Newlib:
* libc/include/sys/features.h (_POSIX_BARRIERS): Define for Cygwin.
* libc/include/sys/types.h (pthread_barrier_t)
(pthread_barrierattr_t): Do not define for Cygwin.
Cygwin:
* common.din (pthread_barrierattr_init)
(pthread_barrierattr_setpshared, pthread_barrierattr_getpshared)
(pthread_barrierattr_destroy, pthread_barrier_init)
(pthread_barrier_destroy, pthread_barrier_wait): Export.
* include/cygwin/types.h (pthread_barrierattr_t)
(pthread_barrier_t): Declare.
* include/pthread.h (PTHREAD_BARRIER_SERIAL_THREAD)
(pthread_barrierattr_init, pthread_barrierattr_setpshared)
(pthread_barrierattr_getpshared, pthread_barrierattr_destroy)
(pthread_barrier_init, pthread_barrier_destroy)
(pthread_barrier_wait): Declare.
* thread.h (PTHREAD_BARRIER_MAGIC)
(PTHREAD_BARRIERATTR_MAGIC): Define.
(class pthread_barrierattr, class pthread_barrier): Declare.
* thread.cc (delete_and_clear): New local helper function.
(class pthread_barrierattr, class pthread_barrier): Implement.
* miscfuncs.h (likely, unlikely): New macros.
--
VH
Diffstat (limited to 'winsup/cygwin/common.din')
-rw-r--r-- | winsup/cygwin/common.din | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/winsup/cygwin/common.din b/winsup/cygwin/common.din index d7f4d24..9584d09 100644 --- a/winsup/cygwin/common.din +++ b/winsup/cygwin/common.din @@ -869,6 +869,13 @@ pthread_attr_setscope SIGFE pthread_attr_setstack SIGFE pthread_attr_setstackaddr SIGFE pthread_attr_setstacksize SIGFE +pthread_barrierattr_init SIGFE +pthread_barrierattr_setpshared SIGFE +pthread_barrierattr_getpshared SIGFE +pthread_barrierattr_destroy SIGFE +pthread_barrier_init SIGFE +pthread_barrier_destroy SIGFE +pthread_barrier_wait SIGFE pthread_cancel SIGFE pthread_cond_broadcast SIGFE pthread_cond_destroy SIGFE |