Solaris 10 has sched_yield() in libc
diff --git a/auto/os/solaris b/auto/os/solaris
index f98c851..333f0ae 100644
--- a/auto/os/solaris
+++ b/auto/os/solaris
@@ -7,14 +7,14 @@
CORE_INCS="$UNIX_INCS"
CORE_DEPS="$UNIX_DEPS $SOLARIS_DEPS"
CORE_SRCS="$UNIX_SRCS $SOLARIS_SRCS "
-CORE_LIBS="$CORE_LIBS -lsocket -lnsl -lrt"
+CORE_LIBS="$CORE_LIBS -lsocket -lnsl"
NGX_RPATH=YES
# Solaris's make does not support a blank line between target and rules
ngx_spacer=
-CC_AUX_FLAGS="$CC_AUX_FLAGS -D_FILE_OFFSET_BITS=64 -lsocket -lnsl -lrt"
+CC_AUX_FLAGS="$CC_AUX_FLAGS -D_FILE_OFFSET_BITS=64 -lsocket -lnsl"
if [ $ZLIB_ASM != NO ]; then
diff --git a/auto/unix b/auto/unix
index 447b0e2..399e54c 100755
--- a/auto/unix
+++ b/auto/unix
@@ -173,6 +173,18 @@
. auto/feature
+if [ $ngx_found != yes ]; then
+
+ ngx_feature="sched_yield() in librt"
+ ngx_feature_libs="-lrt"
+ . auto/feature
+
+ if [ $ngx_found = yes ]; then
+ CORE_LIBS="$CORE_LIBS -lrt"
+ fi
+fi
+
+
ngx_feature="mmap(MAP_ANON|MAP_SHARED)"
ngx_feature_name="NGX_HAVE_MAP_ANON"
ngx_feature_run=yes