Full_Name: Test Seven Version: 2.4.15 OS: Windows URL: Submission from: (NULL) (195.113.184.20)
I'm afraid slapd won't run on Windows without the first half of the following patch. AppVerifier will choke on double tcp_close() without the second part.
--- daemon.c.orig 2009-02-13 03:35:40.000000000 +0100 +++ daemon.c 2009-03-27 09:24:22.515625000 +0100 @@ -537,6 +537,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); /* Don't forget to initialize this, used in slapd_add() called from slapd_daemon_task() */ \ slapd_ws_sockets[0] = wake_sds[0]; \ slapd_ws_sockets[1] = wake_sds[1]; \ wake_sds[0] = 0; \ @@ -1646,7 +1647,7 @@ 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