X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-mdb%2Fconfig.c;h=b21dbee35e95cc54ed5f675444ab0454e89f621f;hb=141a43c1ee1bce788459353e68653dd3b242ff24;hp=c6cb3cb0430e2ab39993642fa6adc21e766ce799;hpb=ffdf3d7afb53fff22ce60b7c25d0430e2da1c1e8;p=openldap diff --git a/servers/slapd/back-mdb/config.c b/servers/slapd/back-mdb/config.c index c6cb3cb043..b21dbee35e 100644 --- a/servers/slapd/back-mdb/config.c +++ b/servers/slapd/back-mdb/config.c @@ -60,7 +60,7 @@ static ConfigTable mdbcfg[] = { "DESC 'Attribute index parameters' " "EQUALITY caseIgnoreMatch " "SYNTAX OMsDirectoryString )", NULL, NULL }, - { "maxreaders", "num", 2, 2, 0, ARG_INT|ARG_MAGIC|MDB_MAXREADERS, + { "maxreaders", "num", 2, 2, 0, ARG_UINT|ARG_MAGIC|MDB_MAXREADERS, mdb_cf_gen, "( OLcfgDbAt:12.1 NAME 'olcDbMaxReaders' " "DESC 'Maximum number of threads that may access the DB concurrently' " "SYNTAX OMsInteger SINGLE-VALUE )", NULL, NULL }, @@ -144,25 +144,25 @@ mdb_online_index( void *ctx, void *arg ) rc = mdb_txn_begin( mdb->mi_dbenv, 0, &txn ); if ( rc ) break; + rc = mdb_cursor_open( txn, mdb->mi_id2entry, &curs ); + if ( rc ) { + mdb_txn_abort( txn ); + break; + } if ( getnext ) { getnext = 0; - rc = mdb_cursor_open( txn, mdb->mi_id2entry, &curs ); - if ( rc ) { - mdb_txn_abort( txn ); - break; - } rc = mdb_cursor_get( curs, &key, &data, MDB_SET_RANGE ); - memcpy( &id, key.mv_data, sizeof( id )); - mdb_cursor_close( curs ); if ( rc ) { mdb_txn_abort( txn ); if ( rc == MDB_NOTFOUND ) rc = 0; break; } + memcpy( &id, key.mv_data, sizeof( id )); } - rc = mdb_id2entry( op, txn, id, &e ); + rc = mdb_id2entry( op, curs, id, &e ); + mdb_cursor_close( curs ); if ( rc ) { mdb_txn_abort( txn ); if ( rc == MDB_NOTFOUND ) {