Commit cccc4450 by Danny Smith Committed by Danny Smith

re PR libstdc++/33578 (__gnu_parallel::yield means what?)

	PR libstdc++/33578
	* include/parallel/compatibility.h.  Use POSIX sched_yield on
	__CYGWIN__ 
	(Sleep): Add prototype for __MINGW32__.

From-SVN: r129219
parent b0bb87a8
2007-10-11 Danny Smith <dannysmith@users.sourceforge.net>
PR libstdc++/33578
* include/parallel/compatibility.h. Use POSIX sched_yield on
__CYGWIN__
(Sleep): Add prototype for __MINGW32__.
2007-10-10 Jason Merrill <jason@redhat.com>
* libsupc++/guard.cc (struct mutex_wrapper): Move into
......
......@@ -45,7 +45,7 @@
#include <sys/atomic.h>
#endif
#if !defined(_WIN32)
#if !defined(_WIN32) || defined (__CYGWIN__)
#include <sched.h>
#endif
......@@ -56,6 +56,14 @@
#undef min
#endif
#ifdef __MINGW32__
// Including <windows.h> will drag in all the windows32 names. Since
// that can cause user code portability problems, we just declare the
// one needed function here.
extern "C"
__attribute((dllimport)) void __attribute__((stdcall)) Sleep (unsigned long);
#endif
namespace __gnu_parallel
{
#if defined(__ICC)
......@@ -327,7 +335,7 @@ namespace __gnu_parallel
inline void
yield()
{
#ifdef _WIN32
#if defined (_WIN32) && !defined (__CYGWIN__)
Sleep(0);
#else
sched_yield();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment