]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/index.c
ITS#4088 force cursors to use same locker
[openldap] / servers / slapd / back-bdb / index.c
index ffa2f27ce0e8a432c2cc70ceb2c3934cebaca07a..0e17da25b7661b48d9402e02a238e4299d331010 100644 (file)
@@ -170,7 +170,7 @@ static int indexer(
        DB *db;
        struct berval *keys;
 
-       assert( mask );
+       assert( mask != 0 );
 
        rc = bdb_db_cache( op->o_bd, atname->bv_val, &db );
        
@@ -254,6 +254,16 @@ static int indexer(
        }
 
 done:
+       switch( rc ) {
+       /* The callers all know how to deal with these results */
+       case 0:
+       case DB_LOCK_DEADLOCK:
+       case DB_LOCK_NOTGRANTED:
+               break;
+       /* Anything else is bad news */
+       default:
+               rc = LDAP_OTHER;
+       }
        return rc;
 }
 
@@ -294,7 +304,7 @@ static int index_at_values(
                                ComponentReference *cr;
                                for( cr = ai->ai_cr ; cr ; cr = cr->cr_next ) {
                                        rc = indexer( op, txn, cr->cr_ad, &type->sat_cname,
-                                               cr->cr_nvals, id, opid,
+                                               cr->cr_nvals, id, ixop,
                                                cr->cr_indexmask );
                                }
                        }
@@ -379,7 +389,7 @@ bdb_index_entry(
 #ifdef LDAP_COMP_MATCH
        ComponentReference *cr_list = NULL;
        ComponentReference *cr = NULL, *dupped_cr = NULL;
-       void* decoded_comp, *extracted_comp;
+       void* decoded_comp;
        ComponentSyntaxInfo* csi_attr;
        Syntax* syn;
        AttributeType* at;