[PATCH 0/2] Provide virtual /dev/fd and /dev/{stdin, stdout, stderr} symlinks

Johannes Schindelin Johannes.Schindelin@gmx.de
Fri Feb 25 15:46:35 GMT 2022


Hi Corinna,

On Tue, 22 Feb 2022, Corinna Vinschen wrote:

> On Feb 21 14:36, Johannes Schindelin wrote:
> > These symbolic links are crucial e.g. to support process substitution (Bash's
> > very nice `<(SOME-COMMAND)` feature).
> >
> > For various reasons, it is a bit cumbersome (or impossible) to generate these
> > symbolic links in all circumstances where Git for Windows wants to use its
> > close fork of the Cygwin runtime.
> >
> > Therefore, let's just handle these symbolic links as implicit, virtual ones.
> >
> > If there is appetite for it, I wonder whether we should do something similar
> > for `/dev/shm` and `/dev/mqueue`? Are these even still used in Cygwin?
>
> "still used"?  These are the dirs to store POSIX semaphors, message
> queues and shared mem objects.

Okay. I guess we do not really use them in Git for Windows ;-)

> These have to be real on-disk dirs.

Could I ask you to help me understand why? Do they have to be writable? Or
do the things that are written into them have to be persisted between
Cygwin sessions?

I ask because it would be really helpful for Git for Windows if we could
get away with _not_ having those directories.

> > Johannes Schindelin (2):
> >   Implicitly support the /dev/fd symlink and friends
> >   Regenerate devices.cc
> >
> >  winsup/cygwin/Makefile.am        |    1 +
> >  winsup/cygwin/devices.cc         | 1494 ++++++++++++++++--------------
> >  winsup/cygwin/devices.h          |    3 +-
> >  winsup/cygwin/devices.in         |    4 +
> >  winsup/cygwin/dtable.cc          |    3 +
> >  winsup/cygwin/fhandler.h         |   28 +
> >  winsup/cygwin/fhandler_dev_fd.cc |   53 ++
> >  7 files changed, 879 insertions(+), 707 deletions(-)
> >  create mode 100644 winsup/cygwin/fhandler_dev_fd.cc
>
> Pushed.

Thank you!
Dscho


More information about the Cygwin-patches mailing list