diff --git a/servers/slapd/daemon.c b/servers/slapd/daemon.c index 823e6bd0b3..f49a339689 100644 --- a/servers/slapd/daemon.c +++ b/servers/slapd/daemon.c @@ -569,8 +569,13 @@ slapd_daemon_task( case -1: { /* failure - try again */ int err = sock_errno(); - if( err == EBADF && ++ebadf < SLAPD_EBADF_LIMIT) { - continue; + if( err == EBADF +#ifdef HAVE_WINSOCK + || err == WSAENOTSOCK /* you'd think this would be EBADF */ +#endif + ) { + if (++ebadf < SLAPD_EBADF_LIMIT) + continue; } if( err != EINTR ) {