all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Werner Koch <wk@gnupg.org>
Cc: ueno@gnu.org, emacs-devel@gnu.org
Subject: Re: pipe
Date: Sat, 14 Mar 2015 15:42:04 +0200	[thread overview]
Message-ID: <838uez3dcj.fsf@gnu.org> (raw)
In-Reply-To: <87d24bdcgr.fsf@vigenere.g10code.de>

> From: Werner Koch <wk@gnupg.org>
> Cc: ueno@gnu.org,  emacs-devel@gnu.org
> Date: Sat, 14 Mar 2015 12:51:00 +0100
> 
> On Sat, 14 Mar 2015 09:54, eliz@gnu.org said:
> 
> > Thanks, but where do I see the source of that wrapper?  I tried the
> > gpg Git repo, but I don't think I see it there.  Did I miss something?
> 
> It is in gpgme, a library interface to gnupg:
> 
> git://git.gnupg.org/gpgme.git

Thanks.

> > And anyway, how does this wrapper solve the problem of invoking gpg
> > with the --status-fd, --command-fd, and --attribute-fd options?  IOW,
> > how can the invoking program pass file descriptors on the gpg command
> > line, and be sure gpg will use the same files/devices as the caller?
> 
> Use gpgme ;-)
> 
> Simply use "--status-fd HANDLE" or if gpg expects a filename use the
> option --enable-special-filenames which interprets filename of the form
> "-&N" as the handle N.
> 
> Under Windows we use a HANDLE and not a file descriptor.

OK, if handles are used, then the rest is clear.  (Your original
message talked about file descriptors, which is what confused me.)

But that means it would be impossible to invoke gpg from a shell that
can redirect handles beyond the first 3, like some decent port of
Bash, is that correct?  Or is that where the wrapper comes into play,
in some way?

> > that allows this to work, but AFAIK that doesn't work with MinGW, only
> 
> Nope.  It is all specified by the Win32 API.

Again, I was talking about file descriptors; the Win32 API knows
nothing about those.  MS runtime passes the translation table between
handles and file descriptors through undocumented fields of
STARTUPINFO, but using that needs special startup code, which only
MSVC supplies, AFAIK.

> If you are interest in details on this I suggest to read Hart's
> Windows System Programming.  I consider this the Windows counterpart
> to APUE.

Thanks, I have that book in my possession since long ago, and studied
it already (and continue studying it).



  reply	other threads:[~2015-03-14 13:42 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-13  9:01 pipe Daiki Ueno
2015-03-13 10:59 ` pipe Eli Zaretskii
2015-03-13 12:29   ` pipe Daiki Ueno
2015-03-13 20:08     ` pipe Werner Koch
2015-03-14  8:54       ` pipe Eli Zaretskii
2015-03-14 11:51         ` pipe Werner Koch
2015-03-14 13:42           ` Eli Zaretskii [this message]
2015-03-14 19:28             ` pipe Werner Koch
2015-03-14 20:34               ` pipe Eli Zaretskii
2015-03-17  7:22                 ` pipe Daiki Ueno
2015-03-17  8:47                   ` pipe Eli Zaretskii
2015-03-13 12:45 ` pipe Stefan Monnier
2015-03-13 13:10   ` pipe Daiki Ueno
2015-03-16  5:42     ` [PATCH] Generalize start-process with keyword args Daiki Ueno
2015-03-16 13:34       ` Stefan Monnier
2015-03-17  2:16         ` Daiki Ueno
2015-03-17  3:13           ` Stefan Monnier
2015-03-17  3:39             ` Daiki Ueno
2015-03-17 15:35               ` Stefan Monnier
2015-03-17 15:42                 ` Eli Zaretskii
2015-03-17 18:08                   ` Stefan Monnier
2015-03-17 18:19                     ` Eli Zaretskii
2015-03-17 21:36                       ` Stefan Monnier
2015-03-18  3:47                         ` Eli Zaretskii
2015-03-18  6:17                           ` Daiki Ueno
2015-03-18  7:37                             ` [PATCH] Add facility to collect stderr of async subprocess Daiki Ueno
2015-03-18 16:25                               ` Eli Zaretskii
2015-03-31  7:27                                 ` Daiki Ueno
2015-03-31 12:55                                   ` Eli Zaretskii
2015-04-08  0:21                                     ` Daiki Ueno
2015-04-08  0:47                                       ` Paul Eggert
2015-04-08  2:55                                         ` Daiki Ueno
2015-04-08  6:17                                           ` Eli Zaretskii
2015-04-08  6:20                                             ` Eli Zaretskii
2015-04-08  7:05                                             ` Daiki Ueno
2015-04-10 23:11                                               ` Daiki Ueno
2015-04-18 10:55                                                 ` Ted Zlatanov
2016-10-05  4:33                                                 ` Tino Calancha
2016-10-05  6:54                                                   ` Eli Zaretskii
2016-10-05  7:10                                                     ` Tino Calancha
2016-10-05  7:37                                                       ` Eli Zaretskii
2016-10-05 16:22                                                         ` John Wiegley
2016-10-06  3:13                                                           ` Tino Calancha
2016-10-06  6:54                                                             ` Eli Zaretskii
2016-10-06  7:25                                                               ` Tino Calancha
2016-10-06  7:55                                                                 ` Eli Zaretskii
2016-10-06  8:37                                                                   ` Tino Calancha
2016-10-06  8:53                                                                     ` Eli Zaretskii
2016-10-06  9:13                                                                       ` Tino Calancha
2016-10-06  9:25                                                                         ` Michael Albinus
2016-10-06  9:45                                                                           ` Tino Calancha
2016-10-06  9:22                                                                     ` Michael Albinus
2016-10-06  7:15                                                         ` Philipp Stephani
2016-10-06  7:42                                                           ` Eli Zaretskii
2016-10-05  8:46                                                     ` Alain Schneble
2016-10-05  9:15                                                       ` Tino Calancha
2016-10-05 11:20                                                     ` Michael Albinus
2016-10-05 17:24                                                       ` Eli Zaretskii
2016-10-06  7:27                                                         ` Michael Albinus
2015-04-08  5:56                                       ` Eli Zaretskii
2015-03-18 13:03                             ` [PATCH] Generalize start-process with keyword args Stefan Monnier
2015-03-18 16:34                               ` Eli Zaretskii
2015-03-19  7:36                               ` Daiki Ueno
2015-03-19 13:32                                 ` Stefan Monnier
2015-03-23  7:36                                   ` Daiki Ueno
2015-03-18 16:23                             ` Eli Zaretskii
2015-03-18 18:57                               ` Stefan Monnier
2015-03-18 19:13                                 ` Eli Zaretskii
2015-03-17  7:50           ` Eli Zaretskii
2015-03-16 19:12       ` Andy Moreton
2015-03-16 19:40         ` Eli Zaretskii
2015-03-16 22:27           ` Andy Moreton
2015-03-17  0:39             ` Stefan Monnier
2015-03-17  7:15             ` Eli Zaretskii
2015-03-17 20:55               ` Andy Moreton
2015-03-17 21:15                 ` Eli Zaretskii
2015-03-17 22:04                   ` Andy Moreton
2015-03-19 16:34                     ` Eli Zaretskii
2015-03-19 23:22                       ` Andy Moreton
2015-03-20 14:03                         ` Stefan Monnier
2015-03-17 21:42                 ` Stefan Monnier
2015-03-13 14:54   ` pipe Eli Zaretskii
2015-03-13 15:28     ` pipe Daniel Colascione
2015-03-13 15:40       ` pipe Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=838uez3dcj.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=ueno@gnu.org \
    --cc=wk@gnupg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.