[Pkg-gnupg-commit] [gnupg2] 31/166: Explain commit e175152ef7515921635bf1e00383e812668d13fc.

Daniel Kahn Gillmor dkg at fifthhorseman.net
Thu Mar 16 22:33:02 UTC 2017


This is an automated email from the git hooks/post-receive script.

dkg pushed a commit to branch experimental
in repository gnupg2.

commit 1ec7dc4e55a9eb84161ce42797924c2f928e2a8e
Author: Werner Koch <wk at gnupg.org>
Date:   Mon Jan 30 12:07:46 2017 +0100

    Explain commit e175152ef7515921635bf1e00383e812668d13fc.
    
    --
---
 agent/cache.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/agent/cache.c b/agent/cache.c
index 2483682..4cb158c 100644
--- a/agent/cache.c
+++ b/agent/cache.c
@@ -481,7 +481,15 @@ agent_store_cache_hit (const char *key)
   /* To make sure the update is atomic under the non-preemptive thread
    * model, we must make sure not to surrender control to a different
    * thread.  Therefore, we avoid calling the allocator during the
-   * update.  */
+   * update.
+   *
+   * Background: xtrystrdup uses gcry_strdup which may use the secure
+   * memory allocator of Libgcrypt.  That allocator takes locks and
+   * since version 1.14 libgpg-error is nPth aware and thus talking a
+   * lock may now lead to thread switch.  Note that this only happens
+   * when secure memory is allocated, the standard allocator uses
+   * malloc which is not nPth aware.
+   */
   new = key ? xtrystrdup (key) : NULL;
 
   /* Atomic update.  */

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gnupg2.git



More information about the Pkg-gnupg-commit mailing list