diff options
author | Tom Yu <tlyu@mit.edu> | 2014-08-02 14:20:33 -0400 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 2014-08-02 14:20:33 -0400 |
commit | 0cc00db2987f6b103b7e8bee72b7ddfbad2faea8 (patch) | |
tree | 843fd2feb5be81b6014483e4bc4fd87e8470a670 /src/plugins | |
parent | ab009b8568d9b64b7e992ecdb98114e895b4a7ff (diff) | |
download | krb5-0cc00db2987f6b103b7e8bee72b7ddfbad2faea8.zip krb5-0cc00db2987f6b103b7e8bee72b7ddfbad2faea8.tar.gz krb5-0cc00db2987f6b103b7e8bee72b7ddfbad2faea8.tar.bz2 |
Support write locks in DB2 iteration
Add support to krb5_db_iterate() for requesting write locks in the DB2
back end.
ticket: 7977
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/kdb/db2/kdb_db2.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/kdb/db2/kdb_db2.c b/src/plugins/kdb/db2/kdb_db2.c index f4e9458..8d419ea 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; |