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
..
2016-01-23 22:33:31 +01:00
2013-04-30 23:43:08 +00:00
2013-04-23 09:44:36 +00:00
2012-11-23 13:22:47 +00:00
2013-04-23 09:44:36 +00:00
2016-01-07 13:23:05 +01:00
2009-09-22 02:49:15 +00:00
2009-09-22 02:49:15 +00:00
2010-01-01 19:28:15 +00:00
2012-01-01 16:57:25 +00:00
2014-01-04 23:58:32 +00:00
2016-01-07 13:23:05 +01:00
2011-06-06 05:02:13 +00:00
2013-04-23 09:44:36 +00:00
2012-03-19 17:49:40 +00:00
2013-04-23 09:44:36 +00:00
2015-04-23 21:57:12 +02:00
2015-04-23 21:57:12 +02:00
2014-04-26 17:38:22 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2014-01-27 20:04:35 +00:00
2016-02-12 12:08:40 -06:00
2015-11-05 18:31:36 +01:00
2015-11-18 22:27:54 +01:00
2015-12-03 13:30:51 +01:00
2015-03-03 12:58:34 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-11-18 19:09:47 +01:00
2015-02-24 20:52:57 +00:00
2014-08-14 17:36:24 +00:00
2015-08-17 11:05:43 +02:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2016-01-27 15:39:11 +01:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2016-01-27 15:37:53 +01:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-08-29 09:32:00 +02:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2016-02-13 16:03:15 +01:00
2016-02-13 16:03:15 +01:00
2010-06-21 19:55:12 +00:00
2015-04-23 21:57:07 +02:00
2015-04-23 22:04:24 +02:00
2015-02-24 20:52:57 +00:00
2013-04-23 09:44:36 +00:00
2016-02-12 12:08:40 -06:00
2013-05-13 19:25:35 +00:00