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> 2007-10-10 Jason Merrill <jason@redhat.com>
* libsupc++/guard.cc (struct mutex_wrapper): Move into * libsupc++/guard.cc (struct mutex_wrapper): Move into
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
#include <sys/atomic.h> #include <sys/atomic.h>
#endif #endif
#if !defined(_WIN32) #if !defined(_WIN32) || defined (__CYGWIN__)
#include <sched.h> #include <sched.h>
#endif #endif
...@@ -56,6 +56,14 @@ ...@@ -56,6 +56,14 @@
#undef min #undef min
#endif #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 namespace __gnu_parallel
{ {
#if defined(__ICC) #if defined(__ICC)
...@@ -327,7 +335,7 @@ namespace __gnu_parallel ...@@ -327,7 +335,7 @@ namespace __gnu_parallel
inline void inline void
yield() yield()
{ {
#ifdef _WIN32 #if defined (_WIN32) && !defined (__CYGWIN__)
Sleep(0); Sleep(0);
#else #else
sched_yield(); 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