sm: Change keydb code to use the keybox locking.
authorWerner Koch <wk@gnupg.org>
Tue, 14 May 2019 11:36:08 +0000 (13:36 +0200)
committerWerner Koch <wk@gnupg.org>
Tue, 14 May 2019 11:36:08 +0000 (13:36 +0200)
commit22e274f839f9a6c9a511648f29cae497f6492c97
treec1919fa1f95a1a95f23079271ffc2480c115a546
parent54e96c6fd262bd0090fec836c97d7fdb04bd6129
sm: Change keydb code to use the keybox locking.

* kbx/keybox-init.c (keybox_lock): New arg TIMEOUT.  Change all
callers to pass -1 when locking.
* sm/keydb.c (struct resource_item): Remove LOCKANDLE.
(struct keydb_handle): Add KEEP_LOCK.
(keydb_add_resource): Use keybox locking instead of a separate dotlock
for testing whether we can run a compress.
(keydb_release): Reset KEEP_LOCK.
(keydb_lock): Set KEEP_LOCK.
(unlock_all): Take care of KEEP_LOCK.
(lock_all): Use keybox_lock instead of dotlock fucntions.
(keydb_delete): Remove arg UNLOCK.
* sm/delete.c (delete_one): Adjust keydb_delete.  Due to the KEEP_LOCK
the keydb_release takes care of unlocking.
--

This aligns the code more with g10/keydb.c and avoids the separate
calls to dotlock_take.

GnuPG-bug-id: 4505
Signed-off-by: Werner Koch <wk@gnupg.org>
g10/keydb.c
kbx/keybox-init.c
kbx/keybox.h
sm/delete.c
sm/keydb.c
sm/keydb.h