[svn] GnuPG - r4584 - trunk/agent

svn author marcus cvs at cvs.gnupg.org
Fri Sep 14 16:25:03 CEST 2007


Author: marcus
Date: 2007-09-14 16:25:02 +0200 (Fri, 14 Sep 2007)
New Revision: 4584

Modified:
   trunk/agent/ChangeLog
   trunk/agent/call-pinentry.c
Log:
2007-09-14  Marcus Brinkmann  <marcus at g10code.de>

	* call-pinentry.c (agent_popup_message_stop): Implement kill for
	Windows.


Modified: trunk/agent/ChangeLog
===================================================================
--- trunk/agent/ChangeLog	2007-09-14 13:38:36 UTC (rev 4583)
+++ trunk/agent/ChangeLog	2007-09-14 14:25:02 UTC (rev 4584)
@@ -1,3 +1,8 @@
+2007-09-14  Marcus Brinkmann  <marcus at g10code.de>
+
+	* call-pinentry.c (agent_popup_message_stop): Implement kill for
+	Windows.
+
 2007-08-28  Werner Koch  <wk at g10code.com>
 
 	* gpg-agent.c (main): Add option --faked-system-time.

Modified: trunk/agent/call-pinentry.c
===================================================================
--- trunk/agent/call-pinentry.c	2007-09-14 13:38:36 UTC (rev 4583)
+++ trunk/agent/call-pinentry.c	2007-09-14 14:25:02 UTC (rev 4584)
@@ -812,7 +812,16 @@
   else if (popup_finished)
     ; /* Already finished and ready for joining. */
 #ifdef HAVE_W32_SYSTEM
-#  warning need to implement a kill mechanism for pinentry  
+  /* Older versions of assuan set PID to 0 on Windows to indicate an
+     invalid value.  */
+  else if (pid != (pid_t) INVALID_HANDLE_VALUE
+	   && pid != 0)
+    {
+      HANDLE process = (HANDLE) pid;
+      
+      /* Arbitrary error code.  */
+      TerminateProcess (process, 1);
+    }
 #else
   else if (pid && ((rc=waitpid (pid, NULL, WNOHANG))==-1 || (rc == pid)) )
     { /* The daemon already died.  No need to send a kill.  However




More information about the Gnupg-commits mailing list