Index: cherokee/common-internal.h
===================================================================
--- cherokee/common-internal.h	(revisión: 3575)
+++ cherokee/common-internal.h	(copia de trabajo)
@@ -85,10 +85,6 @@
 # include <pthread.h>
 #endif
 
-#ifdef HAVE_SCHED_H
-# include <sched.h>
-#endif
-
 #include <sys/types.h>
 #include <sys/ipc.h>
 #include <sys/sem.h>
@@ -105,7 +101,7 @@
 # define CHEROKEE_MUTEX_T(n)           pthread_mutex_t n
 # define CHEROKEE_RWLOCK_T(n)          pthread_rwlock_t n
 # define CHEROKEE_THREAD_JOIN(t)       pthread_join(t,NULL)
-# define CHEROKEE_THREAD_SELF          pthread_self
+# define CHEROKEE_THREAD_SELF          pthread_self()
 
 # define CHEROKEE_THREAD_PROP_GET(p)   pthread_getspecific(p)
 # define CHEROKEE_THREAD_PROP_SET(p,v) pthread_setspecific(p,v)
@@ -149,13 +145,6 @@
 # define CHEROKEE_RWLOCK_DESTROY(m)
 #endif
 
-#ifdef HAVE_SCHED_YIELD
-# define CHEROKEE_THREAD_YIELD         sched_yield
-#else
-# define CHEROKEE_THREAD_YIELD         
-#endif 
-
-
 #ifdef _WIN32
 # define SOCK_ERRNO()      WSAGetLastError()
 #else
Index: cherokee/thread.c
===================================================================
--- cherokee/thread.c	(revisión: 3575)
+++ cherokee/thread.c	(copia de trabajo)
@@ -150,8 +150,6 @@
 
 	n->exit                = false;
 	n->ended               = false;
-	n->is_full             = false;
-
 	n->server              = server;
 	n->thread_type         = type;
 
@@ -1599,12 +1597,11 @@
 			   cherokee_boolean_t  block,
 			   int                 fdwatch_msecs)
 {
-	ret_t               ret;
-	int                 unlocked;
-	cherokee_bind_t    *bind;
-	cherokee_list_t    *i;
-	cherokee_boolean_t  yield      = false;
- 	cherokee_server_t  *srv        = THREAD_SRV(thd);
+	ret_t              ret;
+	int                unlocked;
+	cherokee_bind_t   *bind;
+	cherokee_list_t   *i;
+ 	cherokee_server_t *srv        = THREAD_SRV(thd);
 
 	/* Lock
 	 */
@@ -1649,27 +1646,13 @@
 	list_for_each (i, &srv->listeners) {
 		bind = BIND(i);
 
-		/* Is it full?
-		 */
 		if (unlikely (thd->conns_num >= thd->conns_max)) {
-			if (thd->is_full) {
-				thread_full_handler (thd, bind);
-				thd->is_full = false;
-			} else {
-				thd->is_full = true;
-			}
-
-			yield = true;
-			break;
+			thread_full_handler (thd, bind);
 		} else {
-			thd->is_full = false;
+			do {
+				ret = accept_new_connection (thd, bind);
+			} while (should_accept_more (thd, bind, ret) == ret_ok);
 		}
-		
-		/* Accept new connections
-		 */
-		do {
-			ret = accept_new_connection (thd, bind);
-		} while (should_accept_more (thd, bind, ret) == ret_ok);
 	}
 
 	/* Release the port file descriptors 
@@ -1685,10 +1668,6 @@
 	/* Unlock
 	 */
 	CHEROKEE_MUTEX_UNLOCK (&srv->listeners_mutex);
-
-	if (yield) {
-		CHEROKEE_THREAD_YIELD();
-	}
 }
 
 
Index: cherokee/thread.h
===================================================================
--- cherokee/thread.h	(revisión: 3575)
+++ cherokee/thread.h	(copia de trabajo)
@@ -81,7 +81,6 @@
 	cherokee_list_t         reuse_list;
 	int                     reuse_list_num;      /* reusable connections objs */
 	cherokee_limiter_t      limiter;             /* Traffic shaping */
-	cherokee_boolean_t      is_full;
 
 	int                     pending_conns_num;   /* Waiting pipelining connections */
 	int                     pending_read_num;    /* Conns with SSL deping read */
Index: configure.in
===================================================================
--- configure.in	(revisión: 3575)
+++ configure.in	(copia de trabajo)
@@ -248,7 +248,7 @@
 AC_CHECK_HEADERS(sys/socket.h sys/un.h netinet/in.h arpa/inet.h netinet/tcp.h sys/ioctl.h fcntl.h sys/ofcntl.h sys/time.h)
 AC_CHECK_HEADERS(sys/resource.h resource.h unistd.h syslog.h stdint.h inttypes.h error.h pwd.h sys/uio.h)
 AC_CHECK_HEADERS(pthread.h netdb.h stdarg.h sys/filio.h sys/varargs.h sys/select.h sys/mman.h sys/uio.h grp.h winsock.h)
-AC_CHECK_HEADERS(winsock.h winsock2.h sched.h)
+AC_CHECK_HEADERS(winsock.h winsock2.h)
 
 AC_SYS_LARGEFILE
 
@@ -574,21 +574,8 @@
 
 	AC_CHECK_FUNCS(pthread_mutexattr_settype pthread_mutexattr_setkind_np)
 
-	dnl
-	dnl Yield
-	dnl
-	AC_CHECK_FUNCS(sched_yield, , [
-	   AC_CHECK_LIB(rt, sched_yield, [
-	       AC_DEFINE(HAVE_SCHED_YIELD)
-		  PTHREAD_LIBS="$PTHREAD_LIBS -lrt"
-	   ],[
-	       AC_CHECK_LIB(posix4, sched_yield, [
-		  AC_DEFINE(HAVE_SCHED_YIELD)
-      	  PTHREAD_LIBS="$PTHREAD_LIBS -lposix4"
-   	   ])])
-     ])
-
 	LIBS="$save_LIBS"
+
 	CFLAGS="$oldcflags"
 fi
 
@@ -598,7 +585,6 @@
 	AC_SUBST(PTHREAD_LIBS)
 fi
 
-
 dnl
 dnl Is setenv() threadsafe?
 dnl
