This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GnuPG 2.0.4 working -- almost


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]