diff -ur thttpd-2.21/fdwatch.c thttpd-2.21-ircg/fdwatch.c
--- thttpd-2.21/fdwatch.c	Fri Apr 13 07:36:08 2001
+++ thttpd-2.21-ircg/fdwatch.c	Sun Apr 22 16:26:54 2001
@@ -51,6 +51,11 @@
 
 #include "fdwatch.h"
 
+#undef HAVE_KQUEUE
+#undef HAVE_SELECT
+#undef HAVE_POLL
+#define HAVE_POLL
+
 #ifdef HAVE_SELECT
 #ifndef FD_SET
 #define NFDBITS         32
@@ -454,7 +459,7 @@
     {
     int r, ridx, i;
 
-    r = poll( pollfds, npollfds, (int) timeout_msecs );
+    r = st_poll( pollfds, npollfds, (unsigned long long) (timeout_msecs * (timeout_msecs == INFTIM ? 1 : 1000)) );
     if ( r == -1 )
 	return -1;
 
diff -ur thttpd-2.21/thttpd.c thttpd-2.21-ircg/thttpd.c
--- thttpd-2.21/thttpd.c	Sun Apr 15 18:09:20 2001
+++ thttpd-2.21-ircg/thttpd.c	Sun Apr 22 16:29:06 2001
@@ -410,6 +410,7 @@
     (void) signal( SIGUSR1, handle_usr1 );
     (void) signal( SIGUSR2, handle_usr2 );
 
+    st_init();
     /* Initialize the timer package. */
     tmr_init();
 
