Index: configure.in
===================================================================
--- configure.in	(revision 3678)
+++ configure.in	(working copy)
@@ -1340,7 +1340,7 @@
 	   AC_HELP_STRING([--enable-static-module=MODULE][]),
 	   [use_static_module="$use_static_module $enableval "],[])
 
-modules="error_redir error_nn server_info file admin dirlist fcgi fastcgi scgi uwsgi redir common cgi phpcgi proxy ssi secdownload empty_gif custom_error dbslayer streaming gzip deflate ncsa combined custom pam ldap mysql htpasswd plain htdigest authlist round_robin ip_hash directory extensions request header exists fullpath method from bind geoip wildcard rehost target_ip evhost libssl rrd not and or"
+modules="error_redir error_nn server_info file admin dirlist fcgi fastcgi scgi uwsgi redir common cgi phpcgi proxy ssi secdownload empty_gif custom_error streaming gzip deflate ncsa combined custom pam ldap htpasswd plain htdigest authlist round_robin ip_hash directory extensions request header exists fullpath method from bind geoip wildcard rehost target_ip evhost libssl not and or"
 
 # Remove modules that will not be compiles
 #
Index: cherokee/collector_rrd.c
===================================================================
--- cherokee/collector_rrd.c	(revision 3678)
+++ cherokee/collector_rrd.c	(working copy)
@@ -373,7 +373,7 @@
 
 	re = access (rrd_srv->database_dir.buf, W_OK);
 	if (re != 0) {
-		mkdir (rrd_srv->database_dir.buf, 0775);		
+		cherokee_mkdir (rrd_srv->database_dir.buf, 0775);		
 
 		re = access (rrd_srv->database_dir.buf, W_OK);
 		if (re != 0) {
Index: cherokee/main_worker.c
===================================================================
--- cherokee/main_worker.c	(revision 3678)
+++ cherokee/main_worker.c	(working copy)
@@ -103,12 +103,13 @@
 		else if (errno == EINTR) 
 			continue;
 		else {
-			PRINT_ERROR ("ERROR: waitting PID %d, error %d\n", pid, errno);
+			PRINT_ERROR ("ERROR: waitting PID %lu, error %d\n", pid, errno);
 			return;
 		}
 	}
 }
 
+#ifndef _WIN32
 static void 
 signals_handler (int sig, siginfo_t *si, void *context) 
 {
@@ -150,8 +151,8 @@
 		PRINT_ERROR ("Unknown signal: %d\n", sig);
 	}
 }
+#endif
 
-
 static ret_t
 test_configuration_file (void)
 {
@@ -170,6 +171,8 @@
 common_server_initialization (cherokee_server_t *srv)
 {
 	ret_t            ret;
+
+#ifndef _WIN32
 	struct sigaction act;
 
 	/* Signals it handles
@@ -193,6 +196,7 @@
 #ifdef SIGBUS
 	sigaction (SIGBUS,  &act, NULL);
 #endif
+#endif
 
 	if (document_root != NULL) {
 		cherokee_buffer_t tmp   = CHEROKEE_BUF_INIT;
Index: cherokee/spawner.c
===================================================================
--- cherokee/spawner.c	(revision 3678)
+++ cherokee/spawner.c	(working copy)
@@ -22,6 +22,7 @@
  * 02110-1301, USA.
  */ 
 
+#ifndef _WIN32
 #include "common-internal.h"
 #include "spawner.h"
 #include "logger_writer.h"
@@ -33,6 +34,7 @@
 
 #define ENTRIES "spawn,spawner"
 
+
 cherokee_shm_t             cherokee_spawn_shared;
 int                        cherokee_spawn_sem;
 static cherokee_boolean_t _active                 = true;
@@ -288,3 +290,4 @@
 #endif
 }
 
+#endif
Index: cherokee/main_admin.c
===================================================================
--- cherokee/main_admin.c	(revision 3678)
+++ cherokee/main_admin.c	(working copy)
@@ -127,10 +127,11 @@
 
 	/* If exist, it must be a socket
 	 */
-	if (! S_ISSOCK(info.st_mode)) {
-		PRINT_MSG ("ERROR: Something happens; '%s' isn't a socket.\n", path);
-		return ret_error;
-	}
+// No clue
+//	if (! S_ISSOCK(info.st_mode)) {
+//		PRINT_MSG ("ERROR: Something happens; '%s' isn't a socket.\n", path);
+//		return ret_error;
+//	}
 
 	/* Remove it
 	 */
@@ -421,7 +422,9 @@
 #endif
 
 	cherokee_init();
+#ifndef _WIN32
 	cherokee_spawner_set_active (false);
+#endif
 	process_parameters (argc, argv);
 
 	ret = cherokee_server_new (&srv);
Index: cherokee/common-internal.h
===================================================================
--- cherokee/common-internal.h	(revision 3678)
+++ cherokee/common-internal.h	(working copy)
@@ -90,8 +90,11 @@
 #endif
 
 #include <sys/types.h>
+
+#ifndef _WIN32
 #include <sys/ipc.h>
 #include <sys/sem.h>
+#endif
 
 #ifdef HAVE_INLINE
 # define INLINE inline
@@ -149,13 +152,18 @@
 # define CHEROKEE_RWLOCK_DESTROY(m)
 #endif
 
+/*
 #ifdef HAVE_SCHED_YIELD
 # define CHEROKEE_THREAD_YIELD         sched_yield
 #else
-# define CHEROKEE_THREAD_YIELD         
-#endif 
+# define CHEROKEE_THREAD_YIELD        // this thing gets plain wrong, because () is used after it later in the code
+#endif
+*/
 
+/* Pthread Win32 does has sched_yield, but it is not detected */
+#define CHEROKEE_THREAD_YIELD  sched_yield
 
+
 #ifdef _WIN32
 # define SOCK_ERRNO()      WSAGetLastError()
 #else
Index: cherokee/unix4win32.h
===================================================================
--- cherokee/unix4win32.h	(revision 3678)
+++ cherokee/unix4win32.h	(working copy)
@@ -79,7 +79,9 @@
 #define LOG_ALERT       EVENTLOG_WARNING_TYPE
 #define LOG_CRIT        EVENTLOG_ERROR_TYPE
 #define LOG_ERR         EVENTLOG_ERROR_TYPE
-#define LOG_WARNING     EVENTLOG_WARNING_TYPE
+/* Seems to be used by another part of Cherokee
+ *#define LOG_WARNING     EVENTLOG_WARNING_TYPE
+ */
 #define LOG_INFO        EVENTLOG_INFORMATION_TYPE
 #define LOG_DEBUG       EVENTLOG_INFORMATION_TYPE
 #define LOG_KERN        EVENTLOG_WARNING_TYPE
@@ -181,7 +183,7 @@
 
 /* Processes
  */
-#define waitpid(pid,s,o) _cwait (statusp, pid, WAIT_CHILD)
+#define waitpid(pid,statusp,o) _cwait (statusp, pid, WAIT_CHILD)
 #define WAIT_T           int
 #define WTERMSIG(x)      ((x) & 0xff)        /* or: SIGABRT ?? */
 #define WCOREDUMP(x)     0
Index: cherokee/util.h
===================================================================
--- cherokee/util.h	(revision 3678)
+++ cherokee/util.h	(working copy)
@@ -29,6 +29,11 @@
 #ifndef CHEROKEE_UTIL_H
 #define CHEROKEE_UTIL_H
 
+#ifdef _WIN32
+#include "unix4win32.h"
+struct group *getgrnam (const char *group);
+#endif
+
 #include <cherokee/common.h>
 #include <cherokee/avl.h>
 #include <cherokee/trace.h>
Index: cherokee/server.c
===================================================================
--- cherokee/server.c	(revision 3678)
+++ cherokee/server.c	(working copy)
@@ -248,7 +248,9 @@
 
 	/* Spawn mechanism
 	 */
+	#ifndef _WIN32
 	cherokee_spawner_free();
+	#endif
 
 	/* Threads
 	 */
@@ -936,9 +938,11 @@
 
 	/* Spawning mechanism
 	 */
+	#ifndef WIN32
 	if (cherokee_spawn_shared.mem == NULL) {
 		cherokee_spawner_init();
 	}
+	#endif
 
 	/* Chroot
 	 */
