--- servers/slapd/daemon.c.orig	Sun May  2 05:58:43 1999
+++ servers/slapd/daemon.c	Sun May  2 05:59:46 1999
@@ -135,6 +135,7 @@
 	(void) SIGNAL( SIGUSR1, (void *) do_nothing );
 	(void) SIGNAL( SIGUSR2, (void *) set_shutdown );
 	(void) SIGNAL( SIGTERM, (void *) set_shutdown );
+	(void) SIGNAL( SIGINT, (void *) set_shutdown );
 	(void) SIGNAL( SIGHUP, (void *) set_shutdown );
 
 	Debug( LDAP_DEBUG_ANY, "slapd starting\n", 0, 0, 0 );
@@ -186,11 +187,7 @@
 		zero.tv_usec = 0;
 		Debug( LDAP_DEBUG_CONNS, "before select active_threads %d\n",
 		    active_threads, 0, 0 );
-#ifdef PTHREAD_PREEMPTIVE
 		tvp = NULL;
-#else
-		tvp = active_threads ? &zero : NULL;
-#endif
 		pthread_mutex_unlock( &active_threads_mutex );
 
 		switch ( select( dtblsize, &readfds, &writefds, 0, tvp ) ) {
@@ -357,6 +354,7 @@
 	pthread_kill( listener_tid, SIGUSR1 );
 	(void) SIGNAL( SIGUSR2, (void *) set_shutdown );
 	(void) SIGNAL( SIGTERM, (void *) set_shutdown );
+	(void) SIGNAL( SIGINT, (void *) set_shutdown );
 	(void) SIGNAL( SIGHUP, (void *) set_shutdown );
 }
 
