]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/daemon.c
ITS#5489
[openldap] / servers / slapd / daemon.c
index a5c6d6cb69c2eb371e2906187c1d77cbd498eab6..d893407a6429f1a8b915fc4d04740696097d5698 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2007 The OpenLDAP Foundation.
+ * Copyright 1998-2008 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -227,7 +227,8 @@ static struct slap_daemon {
        (int *)(ptr) <= &slap_daemon.sd_index[dtblsize]) ? 0 : 1 )
 
 # define SLAP_EPOLL_EV_PTRFD(ptr)              (SLAP_EPOLL_EV_LISTENER(ptr) ? \
-       ((Listener *)ptr)->sl_sd : (int *)(ptr) - slap_daemon.sd_index)
+       ((Listener *)ptr)->sl_sd : \
+       (ber_socket_t) ((int *)(ptr) - slap_daemon.sd_index))
 
 # define SLAP_SOCK_DEL(s)              do { \
        int fd, rc, index = SLAP_EPOLL_SOCK_IX((s)); \
@@ -809,9 +810,9 @@ slapd_clr_write( ber_socket_t s, int wake )
 {
        ldap_pvt_thread_mutex_lock( &slap_daemon.sd_mutex );
 
-       assert( SLAP_SOCK_IS_ACTIVE( s ));
-
        if ( SLAP_SOCK_IS_WRITE( s )) {
+               assert( SLAP_SOCK_IS_ACTIVE( s ));
+
                SLAP_SOCK_CLR_WRITE( s );
                slap_daemon.sd_nwriters--;
        }
@@ -1582,7 +1583,7 @@ slap_listener(
        Sockaddr                from;
 
        ber_socket_t s;
-       socklen_t len = sizeof(from);
+       ber_socklen_t len = sizeof(from);
        long id;
        slap_ssf_t ssf = 0;
        struct berval authid = BER_BVNULL;