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
This commit is contained in:
committed by
Corinna Vinschen
parent
ef64aa4940
commit
813da84442
@@ -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
|
||||
|
Reference in New Issue
Block a user