client: Check for pthread yield function using autoconf

This commit is contained in:
Alexander Larsson 2010-09-29 13:16:45 +02:00
parent 1670b220b5
commit 44631aa023
2 changed files with 21 additions and 1 deletions

View File

@ -463,7 +463,7 @@ void Platform::msleep(unsigned int millisec)
void Platform::yield()
{
pthread_yield();
POSIX_YIELD_FUNC;
}
void Platform::term_printf(const char* format, ...)

View File

@ -128,6 +128,26 @@ AC_SUBST(LIBRT)
SPICE_NONPKGCONFIG_LIBS+=" -pthread $LIBM $LIBRT"
dnl The client needs a yield function
AC_MSG_CHECKING(for posix yield function)
for yield_func in pthread_yield pthread_yield_np sched_yield \
thr_yield; do
spice_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $SPICE_NONPKGCONFIG_LIBS"
AC_TRY_LINK([#include <pthread.h>],
[$yield_func()],
[posix_yield_func="$yield_func"
break])
CPPFLAGS="spice_save_CPPFLAGS"
done
if test x"$posix_yield_func" = xnone; then
AC_MSG_ERROR([No posix yield function found])
else
AC_MSG_RESULT($posix_yield_func)
posix_yield_func="$posix_yield_func()"
fi
AC_DEFINE_UNQUOTED(POSIX_YIELD_FUNC,$posix_yield_func,[The POSIX RT yield function])
SPICE_REQUIRES=""
if test "x$use_gui" = "xyes"; then