]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slap.h
ITS#4088 force cursors to use same locker
[openldap] / servers / slapd / slap.h
index a0c66a555c819c710a70ced63d4dccd1f4b47a9f..c4b35ad52564bf24aa7348b380096af0d8227c04 100644 (file)
@@ -60,9 +60,11 @@ LDAP_BEGIN_DECL
 
 
 #ifdef LDAP_DEVEL
-#define SLAP_LIGHTWEIGHT_LISTENER /* experimental slapd architecture */
-#define SLAP_SEM_LOAD_CONTROL /* must also be defined in libldap_r/tpool.c */
+#define SLAP_LIGHTWEIGHT_DISPATCHER /* experimental slapd architecture */
 #define SLAP_MULTI_CONN_ARRAY
+#ifdef LDAP_PVT_THREAD_POOL_SEM_LOAD_CONTROL
+#define SLAP_SEM_LOAD_CONTROL
+#endif /* LDAP_PVT_THREAD_POOL_SEM_LOAD_CONTROL */
 
 #define SLAP_ACL_HONOR_DISCLOSE        /* partially implemented */
 #define SLAP_ACL_HONOR_MANAGE  /* not yet implemented */
@@ -2553,6 +2555,7 @@ typedef struct slap_op {
        BerElement      *o_res_ber;     /* ber of the CLDAP reply or readback control */
        slap_callback *o_callback;      /* callback pointers */
        LDAPControl     **o_ctrls;       /* controls */
+       struct berval o_csn;
 
        void    *o_private;     /* anything the backend needs */
 
@@ -2739,7 +2742,10 @@ struct slap_listener {
 #ifdef LDAP_CONNECTIONLESS
        int     sl_is_udp;              /* UDP listener is also data port */
 #endif
-       int     sl_is_mute;     /* Listening is temporarily disabled */
+       int     sl_mute;        /* Listener is temporarily disabled due to emfile */
+#ifdef SLAP_LIGHTWEIGHT_DISPATCHER
+       int     sl_busy;        /* Listener is busy (accept thread activated */
+#endif
        ber_socket_t sl_sd;
        Sockaddr sl_sa;
 #define sl_addr        sl_sa.sa_in_addr