Václav Haisman
813da84442
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
2016-02-13 16:03:15 +01:00
..
2015-10-27 16:10:37 +00:00
2015-04-27 14:40:27 +02:00
2008-02-11 19:03:36 +00:00
2013-04-23 09:44:36 +00:00
2016-02-13 16:03:15 +01:00
2012-06-06 04:45:48 +00:00
2013-01-21 04:38:31 +00:00
2015-11-02 15:42:30 +01:00
2016-02-09 15:00:30 +01:00
2013-04-23 09:44:36 +00:00
2005-07-26 00:55:42 +00:00
2013-01-21 04:38:31 +00:00
2012-06-06 04:45:48 +00:00
2011-02-11 12:42:30 +00:00
2011-02-02 15:14:46 +00:00
2013-02-21 03:15:47 +00:00
2014-11-25 11:42:20 +00:00
2013-01-21 04:38:31 +00:00
2015-10-27 16:10:37 +00:00
2002-02-28 14:30:38 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2006-01-09 12:41:54 +00:00
2013-11-28 10:00:01 +00:00
2007-06-21 15:57:54 +00:00
2013-04-23 09:44:36 +00:00
2013-01-21 04:38:31 +00:00
2013-04-23 09:44:36 +00:00
2001-09-11 20:01:02 +00:00
2013-01-21 04:38:31 +00:00
2013-04-23 09:44:36 +00:00
2010-01-22 22:31:31 +00:00
2007-02-15 17:49:25 +00:00
2013-11-19 13:29:37 +00:00
2013-01-21 04:38:31 +00:00
2012-02-07 17:15:07 +00:00
2016-02-13 16:03:15 +01:00
2009-12-26 06:20:56 +00:00
2010-04-27 15:18:14 +00:00
2015-10-27 16:10:37 +00:00
2007-06-17 00:31:27 +00:00
2007-02-20 15:48:04 +00:00
2013-01-21 04:38:31 +00:00
2013-01-21 04:38:31 +00:00
2013-01-21 04:38:31 +00:00
2015-07-17 14:31:12 +02:00
2016-01-07 15:40:40 +01:00
2008-04-24 08:46:41 +00:00