]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/daemon.c
Multi-threaded slapindex
[openldap] / servers / slapd / daemon.c
index b0f2d6bd0952c3dbcf7ad73acb5dd17a22c02a7c..ed6078081b11c201caa9560393ee6651ddd38548 100644 (file)
@@ -180,8 +180,8 @@ static struct slap_daemon {
                slap_daemon.sd_nfds++; \
        } else { \
                Debug( LDAP_DEBUG_ANY, \
-                       "daemon: epoll_ctl ADD failed, errno %d, shutting down\n", \
-                       errno, 0, 0 ); \
+                       "daemon: epoll_ctl(ADD,fd=%d) failed, errno=%d, shutting down\n", \
+                       s, errno, 0 ); \
                slapd_shutdown = 2; \
        } \
 } while (0)
@@ -194,6 +194,7 @@ static struct slap_daemon {
 
 # define SLAP_DEL_SOCK(s) do { \
        int fd, rc, index = SLAP_SOCK_IX((s)); \
+       if ( index < 0 ) break; \
        rc = epoll_ctl(slap_daemon.sd_epfd, EPOLL_CTL_DEL, \
                (s), &SLAP_SOCK_EP((s))); \
        slap_daemon.sd_epolls[index] = \
@@ -690,7 +691,7 @@ static int slap_get_listener_addresses(
                snprintf(serv, sizeof serv, "%d", port);
 
                if ( (err = getaddrinfo(host, serv, &hints, &res)) ) {
-                       Debug( LDAP_DEBUG_ANY, "daemon: getaddrinfo failed: %s\n",
+                       Debug( LDAP_DEBUG_ANY, "daemon: getaddrinfo() failed: %s\n",
                                AC_GAI_STRERROR(err), 0, 0);
                        return -1;
                }