Index: configure.in
===================================================================
--- configure.in	(revision 594913)
+++ configure.in	(working copy)
@@ -674,6 +674,14 @@
             dnl ----------------------------- Checking for sched_yield
             AC_CHECK_HEADERS([sched.h])
             AC_CHECK_FUNCS([sched_yield])
+        else
+            AC_CACHE_CHECK([for pthread_yield args], [apr_cv_pthread_yield_has_null_arg],
+            APR_TRY_COMPILE_NO_WARNING([#include <pthread.h>],
+              [pthread_yield(0);],
+              [apr_cv_pthread_yield_has_null_arg=yes], [apr_cv_pthread_yield_has_null_arg=no]))
+            if test "$apr_cv_pthread_yield_has_null_arg" = "yes"; then
+               AC_DEFINE(PTHREAD_YIELD_HAS_NULL_ARG, 1, [Define if pthread_yield has a NULL arg])
+            fi
         fi
     fi
 fi
Index: threadproc/unix/thread.c
===================================================================
--- threadproc/unix/thread.c	(revision 594914)
+++ threadproc/unix/thread.c	(working copy)
@@ -251,7 +251,11 @@
 APR_DECLARE(void) apr_thread_yield(void)
 {
 #ifdef HAVE_PTHREAD_YIELD
+#ifdef PTHREAD_YIELD_HAS_NULL_ARG
+    pthread_yield(NULL);
+#else
     pthread_yield();
+#endif /* PTHREAD_YIELD_HAS_NULL_ARG */
 #else
 #ifdef HAVE_SCHED_YIELD
     sched_yield();
