summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorunknown <heikki@donna.mysql.fi>2001-04-18 17:23:06 +0300
committerunknown <heikki@donna.mysql.fi>2001-04-18 17:23:06 +0300
commit5028127133e98241c8ff661dcfaf24220740802e (patch)
treea6f5eab5aa2e40156c0f75c10a0f198463456083 /innobase
parentdc72a9d59abc5291f68dc0e27a9852908d5bf064 (diff)
downloadmariadb-git-5028127133e98241c8ff661dcfaf24220740802e.tar.gz
os0thread.c Change pthread_yield to sched_yield
univ.i Change pthread_yield to sched_yield configure.in Change pthread_yield to sched_yield innobase/configure.in: Change pthread_yield to sched_yield innobase/include/univ.i: Change pthread_yield to sched_yield innobase/os/os0thread.c: Change pthread_yield to sched_yield BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
Diffstat (limited to 'innobase')
-rw-r--r--innobase/configure.in3
-rw-r--r--innobase/include/univ.i4
-rw-r--r--innobase/os/os0thread.c4
3 files changed, 8 insertions, 3 deletions
diff --git a/innobase/configure.in b/innobase/configure.in
index 645ac58483b..0bcc53cc05b 100644
--- a/innobase/configure.in
+++ b/innobase/configure.in
@@ -7,8 +7,9 @@ AM_INIT_AUTOMAKE(ib, 0.90)
AC_PROG_CC
AC_PROG_RANLIB
AC_PROG_INSTALL
-AC_CHECK_HEADERS(aio.h)
+AC_CHECK_HEADERS(aio.h sched.h)
AC_CHECK_SIZEOF(int, 4)
+AC_CHECK_FUNCS(sched_yield)
AC_C_INLINE
AC_C_BIGENDIAN
diff --git a/innobase/include/univ.i b/innobase/include/univ.i
index f24937ea0c8..5e74b7eb09b 100644
--- a/innobase/include/univ.i
+++ b/innobase/include/univ.i
@@ -39,6 +39,10 @@ subdirectory of 'mysql'. */
/* Include the header file generated by GNU autoconf */
#include "../ib_config.h"
+#ifdef HAVE_SCHED_H
+#include <sched.h>
+#endif
+
#ifdef HAVE_PREAD
#define HAVE_PWRITE
#endif
diff --git a/innobase/os/os0thread.c b/innobase/os/os0thread.c
index 78b159cf808..05e1e6201a4 100644
--- a/innobase/os/os0thread.c
+++ b/innobase/os/os0thread.c
@@ -137,8 +137,8 @@ os_thread_yield(void)
{
#if defined(__WIN__)
Sleep(0);
-#elif defined(HAVE_PTHREAD_YIELD)
- pthread_yield();
+#elif (defined(HAVE_SCHED_YIELD) && defined(HAVE_SCHED_H))
+ sched_yield();
#else
os_thread_sleep(0);
#endif