X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com Subject: GnuPG 2.0.4 working -- almost Date: Fri, 25 May 2007 10:06:09 -0700 Message-ID: User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.3 (windows-nt) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii From: etmatsui AT gmail DOT com X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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/