]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/result.c
Remove unused variable
[openldap] / servers / slapd / result.c
index a4bd781e78cc7ec52be54cbbb5a93c3e448ecd03..eccc03583288d260ee637f3a370a1628cddf68cb 100644 (file)
@@ -149,7 +149,6 @@ static long send_ldap_ber(
        /* write the pdu */
        while( 1 ) {
                int err;
-               ber_socket_t    sd;
 
                if ( connection_state_closing( conn ) ) {
                        ldap_pvt_thread_mutex_unlock( &conn->c_mutex );
@@ -184,8 +183,7 @@ static long send_ldap_ber(
 
                /* wait for socket to be write-ready */
                conn->c_writewaiter = 1;
-               ber_sockbuf_ctrl( conn->c_sb, LBER_SB_OPT_GET_FD, &sd );
-               slapd_set_write( sd, 1 );
+               slapd_set_write( conn->c_sd, 1 );
 
                ldap_pvt_thread_cond_wait( &conn->c_write_cv, &conn->c_mutex );
                conn->c_writewaiter = 0;
@@ -239,7 +237,7 @@ send_ldap_controls( Operation *o, BerElement *ber, LDAPControl **c )
                if( rc == -1 ) return rc;
        }
 
-#ifdef SLAP_SORTED_RESULTS
+#ifdef SLAP_CONTROL_X_SORTEDRESULTS
        /* this is a hack to avoid having to modify op->s_ctrls */
        if( o->o_sortedresults ) {
                BerElementBuffer berbuf;
@@ -508,10 +506,10 @@ send_ldap_response(
                goto cleanup;
        }
 
-       ldap_pvt_thread_mutex_lock( &slap_counters.sc_sent_mutex );
-       ldap_pvt_mp_add_ulong( slap_counters.sc_pdu, 1 );
-       ldap_pvt_mp_add_ulong( slap_counters.sc_bytes, (unsigned long)bytes );
-       ldap_pvt_thread_mutex_unlock( &slap_counters.sc_sent_mutex );
+       ldap_pvt_thread_mutex_lock( &op->o_counters->sc_mutex );
+       ldap_pvt_mp_add_ulong( op->o_counters->sc_pdu, 1 );
+       ldap_pvt_mp_add_ulong( op->o_counters->sc_bytes, (unsigned long)bytes );
+       ldap_pvt_thread_mutex_unlock( &op->o_counters->sc_mutex );
 
 cleanup:;
        /* Tell caller that we did this for real, as opposed to being
@@ -743,6 +741,14 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
                return LDAP_SIZELIMIT_EXCEEDED;
        }
 
+       /* Every 64 entries, check for thread pool pause */
+       if ( ( ( rs->sr_nentries & 0x3f ) == 0x3f ) &&
+               ldap_pvt_thread_pool_query( &connection_pool,
+                       LDAP_PVT_THREAD_POOL_PARAM_PAUSING, &i ) == 0 && i )
+       {
+               return LDAP_BUSY;
+       }
+
        rs->sr_type = REP_SEARCH;
 
        /* eventually will loop through generated operational attribute types
@@ -1187,11 +1193,11 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
                }
                rs->sr_nentries++;
 
-               ldap_pvt_thread_mutex_lock( &slap_counters.sc_sent_mutex );
-               ldap_pvt_mp_add_ulong( slap_counters.sc_bytes, (unsigned long)bytes );
-               ldap_pvt_mp_add_ulong( slap_counters.sc_entries, 1 );
-               ldap_pvt_mp_add_ulong( slap_counters.sc_pdu, 1 );
-               ldap_pvt_thread_mutex_unlock( &slap_counters.sc_sent_mutex );
+               ldap_pvt_thread_mutex_lock( &op->o_counters->sc_mutex );
+               ldap_pvt_mp_add_ulong( op->o_counters->sc_bytes, (unsigned long)bytes );
+               ldap_pvt_mp_add_ulong( op->o_counters->sc_entries, 1 );
+               ldap_pvt_mp_add_ulong( op->o_counters->sc_pdu, 1 );
+               ldap_pvt_thread_mutex_unlock( &op->o_counters->sc_mutex );
        }
 
        Statslog( LDAP_DEBUG_STATS2, "%s ENTRY dn=\"%s\"\n",
@@ -1354,11 +1360,11 @@ slap_send_search_reference( Operation *op, SlapReply *rs )
        if ( bytes < 0 ) {
                rc = LDAP_UNAVAILABLE;
        } else {
-               ldap_pvt_thread_mutex_lock( &slap_counters.sc_sent_mutex );
-               ldap_pvt_mp_add_ulong( slap_counters.sc_bytes, (unsigned long)bytes );
-               ldap_pvt_mp_add_ulong( slap_counters.sc_refs, 1 );
-               ldap_pvt_mp_add_ulong( slap_counters.sc_pdu, 1 );
-               ldap_pvt_thread_mutex_unlock( &slap_counters.sc_sent_mutex );
+               ldap_pvt_thread_mutex_lock( &op->o_counters->sc_mutex );
+               ldap_pvt_mp_add_ulong( op->o_counters->sc_bytes, (unsigned long)bytes );
+               ldap_pvt_mp_add_ulong( op->o_counters->sc_refs, 1 );
+               ldap_pvt_mp_add_ulong( op->o_counters->sc_pdu, 1 );
+               ldap_pvt_thread_mutex_unlock( &op->o_counters->sc_mutex );
        }
 #ifdef LDAP_CONNECTIONLESS
        }