/* Yielding the processor to other threads and processes.
- Copyright (C) 2005-2008 Free Software Foundation, Inc.
+ Copyright (C) 2005-2014 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */
/* This file contains a primitive for yielding the processor to other threads.
extern void gl_thread_yield (void);
# define gl_thread_yield() \
sched_yield ()
+# ifdef __cplusplus
+}
+# endif
+
#endif
/* ========================================================================= */
# define gl_thread_yield() \
pth_yield (NULL)
+# ifdef __cplusplus
+}
+# endif
+
#endif
/* ========================================================================= */
/* Use the old Solaris threads library. */
# include <thread.h>
-# include <synch.h>
# ifdef __cplusplus
extern "C" {
# define gl_thread_yield() \
thr_yield ()
+# ifdef __cplusplus
+}
+# endif
+
#endif
/* ========================================================================= */
-#if USE_WIN32_THREADS
+#if USE_WINDOWS_THREADS
+
+# define WIN32_LEAN_AND_MEAN /* avoid including junk */
+# include <windows.h>
# ifdef __cplusplus
extern "C" {
# define gl_thread_yield() \
Sleep (0)
+# ifdef __cplusplus
+}
+# endif
+
#endif
/* ========================================================================= */
-#if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WIN32_THREADS)
+#if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WINDOWS_THREADS)
/* Provide dummy implementation if threads are not supported. */