aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keyring.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--g10/keyring.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/g10/keyring.c b/g10/keyring.c
index 898136b05..f8b6e1520 100644
--- a/g10/keyring.c
+++ b/g10/keyring.c
@@ -1326,6 +1326,10 @@ keyring_rebuild_cache (void *token)
memset (&desc, 0, sizeof desc);
desc.mode = KEYDB_SEARCH_MODE_FIRST;
+ rc=keyring_lock (hd, 1);
+ if(rc)
+ goto leave;
+
while ( !(rc = keyring_search (hd, &desc, 1, NULL)) )
{
desc.mode = KEYDB_SEARCH_MODE_NEXT;
@@ -1420,6 +1424,7 @@ keyring_rebuild_cache (void *token)
m_free (tmpfilename);
m_free (bakfilename);
release_kbnode (keyblock);
+ keyring_lock (hd, 0);
keyring_release (hd);
return rc;
}