Fixes to lock nesting code.
This commit is contained in:

committed by
Nicolas Williams

parent
58d72035f1
commit
abd94953e2
@@ -68,8 +68,8 @@ DB_lock(krb5_context context, HDB *db, int operation)
|
||||
krb5_error_code ret;
|
||||
|
||||
if (db->lock_count > 0) {
|
||||
assert( db->lock_type == HDB_WLOCK );
|
||||
db->lock_count++;
|
||||
if (db->lock_type == HDB_WLOCK || db->lock_type == operation)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@@ -77,9 +77,9 @@ DB_lock(krb5_context context, HDB *db, int operation)
|
||||
int fd;
|
||||
krb5_error_code ret;
|
||||
|
||||
if (db->lock_count > 0) {
|
||||
assert( db->lock_type == HDB_WLOCK );
|
||||
if (db->lock_count > 1) {
|
||||
db->lock_count++;
|
||||
if (db->lock_count == HDB_WLOCK || db->lock_count == operation)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@@ -650,9 +650,9 @@ mdb_lock(krb5_context context, HDB *db, int operation)
|
||||
int fd = (*d->fd)(d);
|
||||
krb5_error_code ret;
|
||||
|
||||
if (db->lock_count > 0) {
|
||||
assert( db->lock_type == HDB_WLOCK );
|
||||
if (db->lock_count > 1) {
|
||||
db->lock_count++;
|
||||
if (db->lock_type == HDB_WLOCK || db->lock_count == operation)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user