]> git.sur5r.net Git - openldap/commitdiff
ITS#7761 bail out of search if config is pausing
authorHoward Chu <hyc@openldap.org>
Wed, 11 Dec 2013 02:08:36 +0000 (18:08 -0800)
committerQuanah Gibson-Mount <quanah@openldap.org>
Tue, 7 Jan 2014 23:50:23 +0000 (17:50 -0600)
servers/slapd/back-bdb/search.c
servers/slapd/back-mdb/search.c
servers/slapd/back-perl/search.c
servers/slapd/back-sql/search.c

index 450f483ebf8616cb2b44130b096c5625d491c9b6..06ea62a0835b44fc40398132709db043315f375c 100644 (file)
@@ -1038,6 +1038,9 @@ id_retry:
                                        break;
                                default:                /* entry not sent */
                                        break;
+                               case LDAP_BUSY:
+                                       send_ldap_result( op, rs );
+                                       goto done;
                                case LDAP_UNAVAILABLE:
                                case LDAP_SIZELIMIT_EXCEEDED:
                                        if ( rs->sr_err == LDAP_SIZELIMIT_EXCEEDED ) {
index 5cc0d28c00b5f3d0ff91f081a06f6a461a6bf97e..86bcc1cfa6c2c777288aa32c7417f4cdba7b789f 100644 (file)
@@ -977,6 +977,9 @@ notfound:
                                        break;
                                default:                /* entry not sent */
                                        break;
+                               case LDAP_BUSY:
+                                       send_ldap_result( op, rs );
+                                       goto done;
                                case LDAP_UNAVAILABLE:
                                case LDAP_SIZELIMIT_EXCEEDED:
                                        if ( rs->sr_err == LDAP_SIZELIMIT_EXCEEDED ) {
index f3106aac8333e863d1a277c06c79e52ebb9e55ea..d862a4a532fd55daa52f1646124fffd5cbda7b71 100644 (file)
@@ -89,7 +89,7 @@ perl_back_search(
                                                rs->sr_flags = 0;
                                                rs->sr_attrs = NULL;
                                                rs->sr_entry = NULL;
-                                               if ( rs->sr_err == LDAP_SIZELIMIT_EXCEEDED ) {
+                                               if ( rs->sr_err == LDAP_SIZELIMIT_EXCEEDED || rs->sr_err == LDAP_BUSY ) {
                                                        goto done;
                                                }
                                        }
index 25d447990967cbdce9c4a1816f5f0f62886adc60..de0ae95f61f065ee09c36f78025d6e5477555c8f 100644 (file)
@@ -2460,6 +2460,7 @@ backsql_search( Operation *op, SlapReply *rs )
                                goto end_of_search;
 
                        case LDAP_SIZELIMIT_EXCEEDED:
+                       case LDAP_BUSY:
                                goto send_results;
                        }
                }