----- Forwarded message from Werner Koch <wk@xxxxxxxxx> ----- Date: Fri, 21 Jul 2006 13:05:37 +0200 From: Werner Koch <wk@xxxxxxxxx> Subject: Re: 1.4.4 unable to reopen standard input error To: Kyle Wheeler <kyle@xxxxxxxxxxxxxx> Cc: gnupg-devel@xxxxxxxxx On Fri, 21 Jul 2006 02:09, Kyle Wheeler said:
(http://lists.gnupg.org/pipermail/gnupg-devel/2006-May/022915.html patch-stdout.reopen.patch) that may have something to do with this. Is there anything I can do to fix this? I'm tempted to track down that patch and reverse it on my 1.4.4 source, to see if that doesn't fix it.
It is important that stdin, stdout and stderr are open and thus connected to some file descriptor. If for example stderr is closed and gpg opens another file (like the trustdb or a keyring) and later prints a message to stderr it will end up in that file - oops. Thus it is always required to make sure that the standard file descriptors are connected; i.e. to dup them to /dev/null right before the exec call. To figure out your problem you should run mutt under "strace -f" or whatever system call trace utility you have on your system. grep for the exec of gpg and then check what happended to descriptors 0,1,2 right before that. As an alternative you might want to add set crypt_use_gpgme into your .muttrc and use the modern gpg interface. Shalom-Salam, Werner ----- End forwarded message ----- ~Kyle -- Anyway, have fun.And don't bother reporting any bugs for the next few days. I won't care anyway.
-- Linus Torvalds, when kernel 2.4 came out
Attachment:
pgpZyuZJlnBI6.pgp
Description: PGP signature