diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index eedd3f93908..b22dd8d250d 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -2,3 +2,4 @@ sasha@mysql.sashanet.com monty@donna.mysql.fi serg@serg.mysql.com jcole@abel.spaceapes.com +heikki@donna.mysql.fi 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 +#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