From 444ef5fe9ec8d64a5db27b3a8aaf6813dd7ef0e0 Mon Sep 17 00:00:00 2001 From: Greg Hudson Date: Wed, 12 Feb 2014 19:13:43 -0500 Subject: Simplify iprop update locking and avoid deadlock Since we are no longer treating the update log like a journal (#7552), we don't need two-stage update logging. In kdb5.c, add an update log entry after each DB change in one step, without getting an explicit lock. In kdb_log.c, combine ulog_add_update with ulog_finish_update, and make ulog_add_update lock the ulog internally. This change avoids deadlock by removing the only cases where the ulog is locked before the DB. ticket: 7861 --- src/include/kdb_log.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/include/kdb_log.h') diff --git a/src/include/kdb_log.h b/src/include/kdb_log.h index 16d8af2c66..c61b285a4c 100644 --- a/src/include/kdb_log.h +++ b/src/include/kdb_log.h @@ -71,8 +71,6 @@ krb5_error_code ulog_map(krb5_context context, const char *logname, uint32_t entries, int caller, char **db_args); void ulog_init_header(krb5_context context); krb5_error_code ulog_add_update(krb5_context context, kdb_incr_update_t *upd); -krb5_error_code ulog_finish_update(krb5_context context, - kdb_incr_update_t *upd); krb5_error_code ulog_get_entries(krb5_context context, const kdb_last_t *last, kdb_incr_result_t *ulog_handle); krb5_error_code ulog_replay(krb5_context context, kdb_incr_result_t *incr_ret, -- cgit