aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2017-12-07 13:33:58 +0000
committerWerner Koch <[email protected]>2017-12-07 13:33:58 +0000
commitb9677ba16f6b386896781a751e4b2fc839e3ec81 (patch)
tree2862887c8a1ddc9942fa45d2a6067288b4234bb3
parentagent: Set assuan system hooks before call of assuan_sock_init. (diff)
downloadgnupg-b9677ba16f6b386896781a751e4b2fc839e3ec81.tar.gz
gnupg-b9677ba16f6b386896781a751e4b2fc839e3ec81.zip
agent: Change intialization of assuan socket system hooks.
* agent/gpg-agent.c (initialize_modules): Add hook again. (main): Remove setting of the system houk but add scoket system hook setting after assuan initialization. -- Thread initialization is better to be deferred after fork (in case of UNIX). assuan_sock_init should be earlier. Thus, we need to change system hooks for assuan_sock_* interface. Or else, on Windows, it may cause hang on server. Updates-commit: 1524ba9656f0205d8c6ef504f773b832a7a12ab9 GnuPG-bug-id: 3378 Signed-off-by: Werner Koch <[email protected]>
-rw-r--r--agent/gpg-agent.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c
index b076ca3b8..21beb29c7 100644
--- a/agent/gpg-agent.c
+++ b/agent/gpg-agent.c
@@ -966,6 +966,7 @@ static void
initialize_modules (void)
{
thread_init_once ();
+ assuan_set_system_hooks (ASSUAN_SYSTEM_NPTH);
initialize_module_cache ();
initialize_module_call_pinentry ();
initialize_module_call_scd ();
@@ -1026,8 +1027,8 @@ main (int argc, char **argv )
malloc_hooks.free = gcry_free;
assuan_set_malloc_hooks (&malloc_hooks);
assuan_set_gpg_err_source (GPG_ERR_SOURCE_DEFAULT);
- assuan_set_system_hooks (ASSUAN_SYSTEM_NPTH);
assuan_sock_init ();
+ assuan_sock_set_system_hooks (ASSUAN_SYSTEM_NPTH);
setup_libassuan_logging (&opt.debug, NULL);
setup_libgcrypt_logging ();