From 65cfb058cb16282bb1862c99cb07685489ff81b4 Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Sat, 12 Jul 2008 16:31:34 +0000 Subject: [PATCH] don't close invalid sockets (blind fix to ITS#5606) --- servers/slapd/daemon.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/servers/slapd/daemon.c b/servers/slapd/daemon.c index 45bd7d3fe8..92a2b03095 100644 --- a/servers/slapd/daemon.c +++ b/servers/slapd/daemon.c @@ -79,7 +79,11 @@ Listener **slap_listeners = NULL; #define SLAPD_LISTEN_BACKLOG 1024 #endif /* ! SLAPD_LISTEN_BACKLOG */ -static ber_socket_t wake_sds[2]; +static ber_socket_t wake_sds[2] +#ifdef HAVE_WINSOCK + = { INVALID_SOCKET, INVALID_SOCKET } +#endif /* HAVE_WINSOCK */ + ; static int emfile; static volatile int waking; @@ -1641,8 +1645,14 @@ int slapd_daemon_destroy( void ) { connections_destroy(); - tcp_close( SLAP_FD2SOCK(wake_sds[1]) ); - tcp_close( SLAP_FD2SOCK(wake_sds[0]) ); +#ifdef HAVE_WINSOCK + if ( wake_sds[1] != INVALID_SOCKET ) +#endif /* HAVE_WINSOCK */ + tcp_close( SLAP_FD2SOCK(wake_sds[1]) ); +#ifdef HAVE_WINSOCK + if ( wake_sds[0] != INVALID_SOCKET ) +#endif /* HAVE_WINSOCK */ + tcp_close( SLAP_FD2SOCK(wake_sds[0]) ); sockdestroy(); #ifdef HAVE_SLP -- 2.39.5