]> git.sur5r.net Git - openldap/commitdiff
remove yields
authorKurt Zeilenga <kurt@openldap.org>
Mon, 16 Jan 2006 19:59:27 +0000 (19:59 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Mon, 16 Jan 2006 19:59:27 +0000 (19:59 +0000)
servers/slapd/back-bdb/add.c
servers/slapd/back-bdb/delete.c
servers/slapd/back-bdb/init.c
servers/slapd/back-bdb/modify.c
servers/slapd/back-bdb/modrdn.c
servers/slapd/back-bdb/operational.c
servers/slapd/back-bdb/search.c

index bb9cd4cb2e4874053e050e0beebfd07211a2348e..ef2c6dfc296a6f2c20ae0cffbc71386a37fe7516 100644 (file)
@@ -99,7 +99,6 @@ retry:        /* transaction retry */
                        rs->sr_err = SLAPD_ABANDON;
                        goto return_results;
                }
-               ldap_pvt_thread_yield();
                bdb_trans_backoff( ++num_retries );
        }
 
@@ -425,7 +424,6 @@ return_results:
        }
 
        if( rs->sr_err == LDAP_SUCCESS && bdb->bi_txn_cp ) {
-               ldap_pvt_thread_yield();
                TXN_CHECKPOINT( bdb->bi_dbenv,
                        bdb->bi_txn_cp_kbyte, bdb->bi_txn_cp_min, 0 );
        }
index 15040c8c1e0bc0d6ca792e1c5bcbf23017240d64..0d353188ca64114ad34c086af49b350180c6f107 100644 (file)
@@ -95,7 +95,6 @@ retry:        /* transaction retry */
                }
                parent_is_glue = 0;
                parent_is_leaf = 0;
-               ldap_pvt_thread_yield();
                bdb_trans_backoff( ++num_retries );
        }
 
@@ -535,7 +534,6 @@ return_results:
        }
 
        if( rs->sr_err == LDAP_SUCCESS && bdb->bi_txn_cp ) {
-               ldap_pvt_thread_yield();
                TXN_CHECKPOINT( bdb->bi_dbenv,
                        bdb->bi_txn_cp_kbyte, bdb->bi_txn_cp_min, 0 );
        }
index eff1b5db620375bf5c7791fa3c0187ca1d9fc391..13415f1e1f7f4cd7b3fc6a5813216e6c6b9fdc82 100644 (file)
@@ -161,7 +161,7 @@ bdb_db_open( BackendDB *be )
                        *ptr++ = LDAP_DIRSEP[0];
                        strcpy( ptr, "__db.001" );
                        if( stat( path, &stat2 ) == 0 ) {
-                               if( stat2.st_mtime <= stat1.st_mtime ) {
+                               if( stat2.st_mtime < stat1.st_mtime ) {
                                        Debug( LDAP_DEBUG_ANY,
                                                "bdb_db_open: DB_CONFIG for suffix %s has changed.\n"
                                                "Performing database recovery to activate new settings.\n",
@@ -366,8 +366,16 @@ bdb_db_open( BackendDB *be )
                if ( !( slapMode & SLAP_TOOL_QUICK ))
                        flags |= BDB_TXN_FLAGS;
 
-               if ( do_recover )
-                       flags |= DB_RECOVER;
+               if ( do_recover ) {
+                       if ( slapMode & SLAP_TOOL_READONLY ) {
+                               Debug( LDAP_DEBUG_ANY,
+                                       "bdb_db_open: Recovery skipped in read-only mode. "
+                                       "Run manual recovery if errors are encountered.\n",
+                                       0, 0, 0 );
+                       } else {
+                               flags |= DB_RECOVER;
+                       }
+               }
 
                /* If a key was set, use shared memory for the BDB environment */
                if ( bdb->bi_shm_key ) {
index 29cb7ba9e80c0eb97e42832a693a87f0c28adc4b..317a1797d10ed85ab4897658b76f7fa932e28a6c 100644 (file)
@@ -327,7 +327,6 @@ retry:      /* transaction retry */
                        rs->sr_err = SLAPD_ABANDON;
                        goto return_results;
                }
-               ldap_pvt_thread_yield();
                bdb_trans_backoff( ++num_retries );
        }
 
@@ -595,7 +594,6 @@ return_results:
                slap_graduate_commit_csn( op );
 
        if( rs->sr_err == LDAP_SUCCESS && bdb->bi_txn_cp ) {
-               ldap_pvt_thread_yield();
                TXN_CHECKPOINT( bdb->bi_dbenv,
                        bdb->bi_txn_cp_kbyte, bdb->bi_txn_cp_min, 0 );
        }
index 2fab263ae034ec6b277571becf9f32b42cdb1d9b..4a7f6e862665fa2f028d9685bdca09f293f30b01 100644 (file)
@@ -108,7 +108,6 @@ retry:      /* transaction retry */
                }
                parent_is_glue = 0;
                parent_is_leaf = 0;
-               ldap_pvt_thread_yield();
                bdb_trans_backoff( ++num_retries );
        }
 
@@ -779,7 +778,6 @@ return_results:
        send_ldap_result( op, rs );
 
        if( rs->sr_err == LDAP_SUCCESS && bdb->bi_txn_cp ) {
-               ldap_pvt_thread_yield();
                TXN_CHECKPOINT( bdb->bi_dbenv,
                        bdb->bi_txn_cp_kbyte, bdb->bi_txn_cp_min, 0 );
        }
index aa75b5f207b99b38a2894b3942f965e6498a778f..ad23046d62a60fa89f7fd59b1f5418051f1a6ceb 100644 (file)
@@ -56,7 +56,6 @@ retry:
        switch( rc ) {
        case DB_LOCK_DEADLOCK:
        case DB_LOCK_NOTGRANTED:
-               ldap_pvt_thread_yield();
                goto retry;
 
        case 0:
index e1e5be58400909ee1c43b634b9595ac51654a007..59f81ff9207b5035d1d8cdebfd2edad00309a651 100644 (file)
@@ -921,8 +921,6 @@ loop_continue:
                        e = NULL;
                        rs->sr_entry = NULL;
                }
-               
-               ldap_pvt_thread_yield();
        }
 
 nochange: