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
This commit is contained in:
Danny Smith 2007-10-10 23:39:30 +00:00 committed by Danny Smith
parent b0bb87a862
commit cccc4450ce
2 changed files with 17 additions and 2 deletions

View File

@ -1,3 +1,10 @@
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

View File

@ -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();