dirmngr: Cleanup zombies and fix hang on shutdown.
authorWerner Koch <wk@gnupg.org>
Tue, 16 Jun 2015 16:08:32 +0000 (18:08 +0200)
committerWerner Koch <wk@gnupg.org>
Tue, 16 Jun 2015 16:11:32 +0000 (18:11 +0200)
commit685b782a18adb90bbf78956682e4e7f89fed678c
treed53c86663c8ca60f21de3c2c242230e8f7299405
parenteb4d33cba9cd0f6929cbb556b7fa2deca0a3a87e
dirmngr: Cleanup zombies and fix hang on shutdown.

* dirmngr/ldap-wrapper.c (ldap_wrapper_thread): Move nfds computation
into the loop.  Check the queue also on timeout.  Close log_fd and
reader context on EOF or error.
--

The major bug here was that on an EOF of the log fd the log fd was not
closed and thus the final queue item removal could not work.  Checking
the queue on a timeout is not really necessary but it help in case
there is a race condition lingering.

GnuPG-bug-id: 1838, 1978
Signed-off-by: Werner Koch <wk@gnupg.org>
dirmngr/ldap-wrapper.c