diff options
author | Werner Koch <[email protected]> | 2016-11-11 19:35:36 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-11-11 19:36:58 +0000 |
commit | 4473db1ef24031ff4e26c9a9de95dbe898ed2b97 (patch) | |
tree | a9c219cf8b11b8f92f7a1908e74fb5da1fde9963 /dirmngr/ks-engine-hkp.c | |
parent | dirmngr: Prepare to trigger jobs by network activity. (diff) | |
download | gnupg-4473db1ef24031ff4e26c9a9de95dbe898ed2b97.tar.gz gnupg-4473db1ef24031ff4e26c9a9de95dbe898ed2b97.zip |
agent: Kludge to mitigate blocking calls in Libgcrypt.
* agent/gpg-agent.c (agent_libgcrypt_progress_cb): Sleep for 100ms on
"need_entropy".
--
During key generation Libgrypt will read from /dev/random which may
block. Libgcrypt is not nPth aware and thus the entire process will
block. Fortunately there is also a select with a short timeout to run
the progress callback. We detect this in gpg-agent and introduce a
short delay to give other threads (i.e. connections) an opportunity to
run.
This alone is not sufficient, an updated Libgpg-error is also required
to make the lock functions nPth aware.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'dirmngr/ks-engine-hkp.c')
0 files changed, 0 insertions, 0 deletions