diff options
author | NIIBE Yutaka <[email protected]> | 2017-12-07 13:33:58 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2017-12-07 13:33:58 +0000 |
commit | b9677ba16f6b386896781a751e4b2fc839e3ec81 (patch) | |
tree | 2862887c8a1ddc9942fa45d2a6067288b4234bb3 | |
parent | agent: Set assuan system hooks before call of assuan_sock_init. (diff) | |
download | gnupg-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.c | 3 |
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 (); |