From: Tom Yu Date: Sat, 2 Aug 2014 18:20:33 +0000 (-0400) Subject: Support write locks in DB2 iteration X-Git-Tag: krb5-1.13-alpha1~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0cc00db2987f6b103b7e8bee72b7ddfbad2faea8;p=thirdparty%2Fkrb5.git Support write locks in DB2 iteration Add support to krb5_db_iterate() for requesting write locks in the DB2 back end. ticket: 7977 --- diff --git a/src/plugins/kdb/db2/kdb_db2.c b/src/plugins/kdb/db2/kdb_db2.c index f4e945884d..8d419ea4c8 100644 --- a/src/plugins/kdb/db2/kdb_db2.c +++ b/src/plugins/kdb/db2/kdb_db2.c @@ -935,8 +935,14 @@ ctx_iterate(krb5_context context, krb5_db2_context *dbc, krb5_db_entry *entry; krb5_error_code retval; int dbret; + int lockmode; - retval = ctx_lock(context, dbc, KRB5_LOCKMODE_SHARED); + if (iterflags & KRB5_DB_ITER_WRITE) + lockmode = KRB5_LOCKMODE_EXCLUSIVE; + else + lockmode = KRB5_LOCKMODE_SHARED; + + retval = ctx_lock(context, dbc, lockmode); if (retval) return retval;