Mail Archives: cygwin/2007/05/25/13:06:56
I managed to build GnuPG 2.0.4.
Unfortunately, the one feature, which was the reason why I wanted to
build it in the first place, isn't working properly. And that is to
use gpg-agent in daemon mode.
The problem seems to boil down to this. When running as a daemon,
gpg-agent spawns a new thread when it receives a request for a
passphrase from gpg2. The thread, in turn, calls
assuan_pipe_connect(), which is supposed to fork a subprocess that
launches pinentry. Even though fork() does return a convincingly
PID-like number, alas, the child is never born (or perhaps dies before
executing any code).
When running as pipe server (as in the case when gpg-agent is launched
directly by gpg2), the same assuan_pipe_connect() function is used to
launch pinentry. The differences are that it is not called from a
thread, and that, most importantly, it works as it should. The child
process is born, does its job, and dies happily with the knowledge of
job well done.
I found out that the issue of pth threads and forking was raised in
the past (6 years ago):
http://cygwin.com/ml/cygwin/2001-05/msg01131.html
I was wondering if there's been further developments on this ever
since.
Any input will be appreciated.
--
Eric
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -