]> git.sur5r.net Git - openldap/commitdiff
ITS#6039 Winsock fixes
authorHoward Chu <hyc@openldap.org>
Sat, 11 Apr 2009 04:03:09 +0000 (04:03 +0000)
committerHoward Chu <hyc@openldap.org>
Sat, 11 Apr 2009 04:03:09 +0000 (04:03 +0000)
servers/slapd/daemon.c

index a7a0bb2179d657933c3dee6f82a75d009a44f230..23193d149846e0efe5b42c7b78ccecaf57010f47 100644 (file)
@@ -539,6 +539,7 @@ static struct slap_daemon {
        slap_daemon.sd_flags = (char *)(slapd_ws_sockets + dtblsize); \
        slap_daemon.sd_rflags = slap_daemon.sd_flags + dtblsize; \
        memset( slapd_ws_sockets, -1, dtblsize * sizeof(SOCKET) ); \
+       memset( slap_daemon.sd_flags, 0, dtblsize ); \
        slapd_ws_sockets[0] = wake_sds[0]; \
        slapd_ws_sockets[1] = wake_sds[1]; \
        wake_sds[0] = 0; \
@@ -1670,7 +1671,8 @@ slapd_daemon_destroy( void )
 {
        connections_destroy();
 #ifdef HAVE_WINSOCK
-       if ( wake_sds[1] != INVALID_SOCKET && wake_sds[1] != wake_sds[0] )
+       if ( wake_sds[1] != INVALID_SOCKET &&
+               SLAP_FD2SOCK( wake_sds[1] ) != SLAP_FD2SOCK( wake_sds[0] ))
 #endif /* HAVE_WINSOCK */
                tcp_close( SLAP_FD2SOCK(wake_sds[1]) );
 #ifdef HAVE_WINSOCK