[Pkg-gnupg-commit] [gnupg2] 87/116: agent: Reduce sleep time in the progress callback.
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Tue Jan 24 04:40:57 UTC 2017
This is an automated email from the git hooks/post-receive script.
dkg pushed a commit to branch master
in repository gnupg2.
commit 3d356d165aed7d76a3ea811b1d24ed0a05ac90d4
Author: Werner Koch <wk at gnupg.org>
Date: Wed Jan 18 10:13:04 2017 +0100
agent: Reduce sleep time in the progress callback.
* agent/gpg-agent.c (agent_libgcrypt_progress_cb): Reduce sleep time
from 100ms to 1ms or use gpgrt_yield when build against a recent
libgpg-error.
--
Debian-bug-id: 851298
Signed-off-by: Werner Koch <wk at gnupg.org>
---
agent/gpg-agent.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c
index 724b55a..b203b07 100644
--- a/agent/gpg-agent.c
+++ b/agent/gpg-agent.c
@@ -1763,11 +1763,19 @@ agent_libgcrypt_progress_cb (void *data, const char *what, int printchar,
/* Libgcrypt < 1.8 does not know about nPth and thus when it reads
* from /dev/random this will block the process. To mitigate this
- * problem we take a short nap when Libgcrypt tells us that it needs
+ * problem we yield the thread when Libgcrypt tells us that it needs
* more entropy. This way other threads have chance to run. */
#if GCRYPT_VERSION_NUMBER < 0x010800 /* 1.8.0 */
if (what && !strcmp (what, "need_entropy"))
- npth_usleep (100000); /* 100ms */
+ {
+#if GPGRT_VERSION_NUMBER < 0x011900 /* 1.25 */
+ /* In older gpg-error versions gpgrt_yield is buggy for use with
+ * nPth and thus we need to resort to a sleep call. */
+ npth_usleep (1000); /* 1ms */
+#else
+ gpgrt_yield ();
+#endif
+ }
#endif
}
--
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