Skip to content
Snippets Groups Projects
Commit 936bca44 authored by Quanah Gibson-Mount's avatar Quanah Gibson-Mount
Browse files

ITS#4188

parent cd767dc0
No related branches found
No related tags found
No related merge requests found
...@@ -8,6 +8,7 @@ OpenLDAP 2.4.6 Engineering ...@@ -8,6 +8,7 @@ OpenLDAP 2.4.6 Engineering
Fixed slapd X509 parsing (ITS#5070, #5151) Fixed slapd X509 parsing (ITS#5070, #5151)
Fixed slapd slap_passwd_parse (ITS#5159) Fixed slapd slap_passwd_parse (ITS#5159)
Added slapd attribute value sorting (ITS#5153) Added slapd attribute value sorting (ITS#5153)
Added slapd checking for long-running tasks (ITS#4188)
Fixed slapd syncrepl cookie propagation (ITS#5170) Fixed slapd syncrepl cookie propagation (ITS#5170)
Fixed slapd-bdb/hdb suffix logging (ITS#5128) Fixed slapd-bdb/hdb suffix logging (ITS#5128)
Fixed slapd-bdb/hdb IDL LRU handling (ITS#5121) Fixed slapd-bdb/hdb IDL LRU handling (ITS#5121)
......
...@@ -215,6 +215,7 @@ typedef enum { ...@@ -215,6 +215,7 @@ typedef enum {
LDAP_PVT_THREAD_POOL_PARAM_OPEN, LDAP_PVT_THREAD_POOL_PARAM_OPEN,
LDAP_PVT_THREAD_POOL_PARAM_STARTING, LDAP_PVT_THREAD_POOL_PARAM_STARTING,
LDAP_PVT_THREAD_POOL_PARAM_ACTIVE, LDAP_PVT_THREAD_POOL_PARAM_ACTIVE,
LDAP_PVT_THREAD_POOL_PARAM_PAUSING,
LDAP_PVT_THREAD_POOL_PARAM_PENDING, LDAP_PVT_THREAD_POOL_PARAM_PENDING,
LDAP_PVT_THREAD_POOL_PARAM_BACKLOAD, LDAP_PVT_THREAD_POOL_PARAM_BACKLOAD,
LDAP_PVT_THREAD_POOL_PARAM_ACTIVE_MAX, LDAP_PVT_THREAD_POOL_PARAM_ACTIVE_MAX,
......
...@@ -397,6 +397,10 @@ ldap_pvt_thread_pool_query( ...@@ -397,6 +397,10 @@ ldap_pvt_thread_pool_query(
count = pool->ltp_active_count; count = pool->ltp_active_count;
break; break;
case LDAP_PVT_THREAD_POOL_PARAM_PAUSING:
count = pool->ltp_pause;
break;
case LDAP_PVT_THREAD_POOL_PARAM_PENDING: case LDAP_PVT_THREAD_POOL_PARAM_PENDING:
count = pool->ltp_pending_count; count = pool->ltp_pending_count;
break; break;
......
...@@ -743,6 +743,13 @@ slap_send_search_entry( Operation *op, SlapReply *rs ) ...@@ -743,6 +743,13 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
return LDAP_SIZELIMIT_EXCEEDED; 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; rs->sr_type = REP_SEARCH;
/* eventually will loop through generated operational attribute types /* eventually will loop through generated operational attribute types
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment