gpgme_cancel() does not stop gpg process from finishing asynchronous call

Igor Belyi gpgme at
Thu Apr 14 15:01:55 CEST 2005

Igor Belyi wrote:

> Marcus Brinkmann wrote:
>> The waitpid is wrong, because GPGME is not the parent of the process
>> (due to the double-fork).
> If you look at the patch - it gets pid from the child in the GPGME 
> child process and then pass it back to GPGME using a pipe. This is the 
> pid return from posix_io.c/_gpgme_io_spawn() and not the pid of the 
> GPGME child. It does work for me and gives more control to GPGME over 
> the process is spawn.


Sorry, I haven't read your remark carefully enough...

Yes, on UNIX this waitpid will return immediately with ECHILD errno, but 
it was added for Win32 benefit since it does not use double-fork. I know 
that Win32 does not have kill implemented yet but when it does this 
waitpid will come handy. :o)

The patch intent is to send the spawn gpg process a signal which is a 
little bit more substantial than closed pipes.


More information about the Gnupg-devel mailing list