remove dbenv->lock_put() call from transaction-protected operations

This commit is contained in:
Jong Hyuk Choi 2002-06-06 10:14:14 +00:00
parent 353f627aa4
commit 976fb2265f
7 changed files with 29 additions and 29 deletions

View File

@ -173,7 +173,7 @@ retry: /* transaction retry */
refs = is_entry_referral( matched )
? get_entry_referrals( be, conn, op, matched )
: NULL;
bdb_cache_return_entry_r(bdb->bi_dbenv, &bdb->bi_cache, matched, &lock);
bdb_unlocked_cache_return_entry_r( &bdb->bi_cache, matched );
matched = NULL;
} else {
@ -204,7 +204,7 @@ retry: /* transaction retry */
case DB_LOCK_DEADLOCK:
case DB_LOCK_NOTGRANTED:
/* free parent and reader lock */
bdb_cache_return_entry_r( bdb->bi_dbenv, &bdb->bi_cache, p, &lock );
bdb_unlocked_cache_return_entry_r( &bdb->bi_cache, p );
p = NULL;
goto retry;
}
@ -266,7 +266,7 @@ retry: /* transaction retry */
matched_dn, NULL, refs, NULL );
ber_bvarray_free( refs );
bdb_cache_return_entry_r( bdb->bi_dbenv, &bdb->bi_cache, p, &lock );
bdb_unlocked_cache_return_entry_r( &bdb->bi_cache, p );
p = NULL;
goto done;
}
@ -279,7 +279,7 @@ retry: /* transaction retry */
#endif
/* free parent and reader lock */
bdb_cache_return_entry_r( bdb->bi_dbenv, &bdb->bi_cache, p, &lock );
bdb_unlocked_cache_return_entry_r( &bdb->bi_cache, p );
p = NULL;
} else {

View File

@ -233,11 +233,11 @@ bdb_unlocked_cache_return_entry_rw( Cache *cache, Entry *e, int rw )
#ifdef NEW_LOGGING
LDAP_LOG(( "cache", LDAP_LEVEL_DETAIL1,
"bdb_cache_return_entry_rw: return (%ld):%s, refcnt=%d\n",
"bdb_unlocked_cache_return_entry_rw: return (%ld):%s, refcnt=%d\n",
id, rw ? "w" : "r", refcnt ));
#else
Debug( LDAP_DEBUG_TRACE,
"====> bdb_cache_return_entry_%s( %ld ): created (%d)\n",
"====> bdb_unlocked_cache_return_entry_%s( %ld ): created (%d)\n",
rw ? "w" : "r", id, refcnt );
#endif
@ -249,11 +249,11 @@ bdb_unlocked_cache_return_entry_rw( Cache *cache, Entry *e, int rw )
#ifdef NEW_LOGGING
LDAP_LOG(( "cache", LDAP_LEVEL_DETAIL1,
"bdb_cache_return_entry_rw: %ld, delete pending (%d).\n",
"bdb_unlocked_cache_return_entry_rw: %ld, delete pending (%d).\n",
id, refcnt ));
#else
Debug( LDAP_DEBUG_TRACE,
"====> bdb_cache_return_entry_%s( %ld ): delete pending (%d)\n",
"====> bdb_unlocked_cache_return_entry_%s( %ld ): delete pending (%d)\n",
rw ? "w" : "r", id, refcnt );
#endif
@ -268,11 +268,11 @@ bdb_unlocked_cache_return_entry_rw( Cache *cache, Entry *e, int rw )
#ifdef NEW_LOGGING
LDAP_LOG(( "cache", LDAP_LEVEL_DETAIL1,
"bdb_cache_return_entry_rw: (%ld): deleted (%d)\n",
"bdb_unlocked_cache_return_entry_rw: (%ld): deleted (%d)\n",
id, refcnt ));
#else
Debug( LDAP_DEBUG_TRACE,
"====> bdb_cache_return_entry_%s( %ld ): deleted (%d)\n",
"====> bdb_unlocked_cache_return_entry_%s( %ld ): deleted (%d)\n",
rw ? "w" : "r", id, refcnt );
#endif
}
@ -283,11 +283,11 @@ bdb_unlocked_cache_return_entry_rw( Cache *cache, Entry *e, int rw )
#ifdef NEW_LOGGING
LDAP_LOG(( "cache", LDAP_LEVEL_DETAIL1,
"bdb_cache_return_entry_rw: ID %ld:%s returned (%d)\n",
"bdb_unlocked_cache_return_entry_rw: ID %ld:%s returned (%d)\n",
id, rw ? "w": "r", refcnt ));
#else
Debug( LDAP_DEBUG_TRACE,
"====> bdb_cache_return_entry_%s( %ld ): returned (%d)\n",
"====> bdb_unlocked_cache_return_entry_%s( %ld ): returned (%d)\n",
rw ? "w" : "r", id, refcnt);
#endif
}

View File

@ -52,7 +52,7 @@ bdb_delete(
if( 0 ) {
retry: /* transaction retry */
if( e != NULL ) {
bdb_cache_return_entry_w(bdb->bi_dbenv, &bdb->bi_cache, e, &lock);
bdb_unlocked_cache_return_entry_w(&bdb->bi_cache, e);
}
#ifdef NEW_LOGGING
LDAP_LOG (( "delete", LDAP_LEVEL_DETAIL1,
@ -152,7 +152,7 @@ retry: /* transaction retry */
rc = access_allowed( be, conn, op, p,
children, NULL, ACL_WRITE, NULL );
bdb_cache_return_entry_r(bdb->bi_dbenv, &bdb->bi_cache, p, &lock);
bdb_unlocked_cache_return_entry_r(&bdb->bi_cache, p);
p = NULL;
switch( opinfo.boi_err ) {
@ -268,7 +268,7 @@ retry: /* transaction retry */
refs = is_entry_referral( matched )
? get_entry_referrals( be, conn, op, matched )
: NULL;
bdb_cache_return_entry_r(bdb->bi_dbenv, &bdb->bi_cache, matched, &lock );
bdb_unlocked_cache_return_entry_r(&bdb->bi_cache, matched);
matched = NULL;
} else {
@ -470,7 +470,7 @@ return_results:
done:
/* free entry */
if( e != NULL ) {
bdb_cache_return_entry_w(bdb->bi_dbenv, &bdb->bi_cache, e, &lock);
bdb_unlocked_cache_return_entry_w(&bdb->bi_cache, e);
}
if( ltid != NULL ) {

View File

@ -262,7 +262,7 @@ bdb_modify(
retry: /* transaction retry */
if( e != NULL ) {
bdb_cache_delete_entry(&bdb->bi_cache, e);
bdb_cache_return_entry_w(bdb->bi_dbenv, &bdb->bi_cache, e, &lock);
bdb_unlocked_cache_return_entry_w(&bdb->bi_cache, e);
}
#ifdef NEW_LOGGING
LDAP_LOG (( "modify", LDAP_LEVEL_DETAIL1, "bdb_modify: retrying...\n" ));
@ -342,7 +342,7 @@ retry: /* transaction retry */
refs = is_entry_referral( matched )
? get_entry_referrals( be, conn, op, matched )
: NULL;
bdb_cache_return_entry_r (bdb->bi_dbenv, &bdb->bi_cache, matched, &lock);
bdb_unlocked_cache_return_entry_r (&bdb->bi_cache, matched);
matched = NULL;
} else {
@ -468,7 +468,7 @@ done:
}
if( e != NULL ) {
bdb_cache_return_entry_w (bdb->bi_dbenv, &bdb->bi_cache, e, &lock);
bdb_unlocked_cache_return_entry_w (&bdb->bi_cache, e);
}
return rc;
}

View File

@ -81,13 +81,13 @@ bdb_modrdn(
retry: /* transaction retry */
if (e != NULL) {
bdb_cache_delete_entry(&bdb->bi_cache, e);
bdb_cache_return_entry_w(bdb->bi_dbenv, &bdb->bi_cache, e, &lock);
bdb_unlocked_cache_return_entry_w(&bdb->bi_cache, e);
}
if (p != NULL) {
bdb_cache_return_entry_r(bdb->bi_dbenv, &bdb->bi_cache, p, &lock);
bdb_unlocked_cache_return_entry_r(&bdb->bi_cache, p);
}
if (np != NULL) {
bdb_cache_return_entry_r(bdb->bi_dbenv, &bdb->bi_cache, np, &lock);
bdb_unlocked_cache_return_entry_r(&bdb->bi_cache, np);
}
#ifdef NEW_LOGGING
LDAP_LOG (( "modrdn", LDAP_LEVEL_DETAIL1, "==>bdb_modrdn: retrying...\n"));
@ -157,7 +157,7 @@ retry: /* transaction retry */
refs = is_entry_referral( matched )
? get_entry_referrals( be, conn, op, matched )
: NULL;
bdb_cache_return_entry_r( bdb->bi_dbenv, &bdb->bi_cache, matched, &lock );
bdb_unlocked_cache_return_entry_r( &bdb->bi_cache, matched);
matched = NULL;
} else {
@ -860,17 +860,17 @@ done:
/* LDAP v3 Support */
if( np != NULL ) {
/* free new parent and reader lock */
bdb_cache_return_entry_r(bdb->bi_dbenv, &bdb->bi_cache, np, &lock);
bdb_unlocked_cache_return_entry_r(&bdb->bi_cache, np);
}
if( p != NULL ) {
/* free parent and reader lock */
bdb_cache_return_entry_r(bdb->bi_dbenv, &bdb->bi_cache, p, &lock);
bdb_unlocked_cache_return_entry_r(&bdb->bi_cache, p);
}
/* free entry */
if( e != NULL ) {
bdb_cache_return_entry_w( bdb->bi_dbenv, &bdb->bi_cache, e, &lock );
bdb_unlocked_cache_return_entry_w( &bdb->bi_cache, e);
}
if( ltid != NULL ) {

View File

@ -46,7 +46,7 @@ bdb_operational(
retry: /* transaction retry */
#if 0
if( e != NULL ) {
bdb_cache_return_entry_w(bdb->bi_dbenv, &bdb->bi_cache, e, &lock);
bdb_unlocked_cache_return_entry_w(&bdb->bi_cache, e);
}
#endif
#ifdef NEW_LOGGING

View File

@ -307,8 +307,8 @@ void bdb_cache_return_entry_rw( DB_ENV *env, Cache *cache, Entry *e, int rw, DB_
#define bdb_cache_return_entry_r(env, c, e, l) bdb_cache_return_entry_rw((env), (c), (e), 0, (l))
#define bdb_cache_return_entry_w(env, c, e, l) bdb_cache_return_entry_rw((env), (c), (e), 1, (l))
void bdb_unlocked_cache_return_entry_rw( Cache *cache, Entry *e, int rw );
#define bdb_unlocked_cache_return_entry_r( c, e ) bdb_cache_return_entry_rw((c), (e), 0)
#define bdb_unlocked_cache_return_entry_w( c, e ) bdb_cache_return_entry_rw((c), (e), 1)
#define bdb_unlocked_cache_return_entry_r( c, e ) bdb_unlocked_cache_return_entry_rw((c), (e), 0)
#define bdb_unlocked_cache_return_entry_w( c, e ) bdb_unlocked_cache_return_entry_rw((c), (e), 1)
int bdb_cache_add_entry_rw(
DB_ENV *env,
Cache *cache,