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 /scd/command.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 'scd/command.c')
0 files changed, 0 insertions, 0 deletions
