public inbox for cygwin-patches@cygwin.com
 help / color / mirror / Atom feed
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin-patches@cygwin.com
Subject: Re: [PATCH 0/2] Provide virtual /dev/fd and /dev/{stdin, stdout, stderr} symlinks
Date: Mon, 28 Feb 2022 10:57:05 +0100	[thread overview]
Message-ID: <YhyccZ1dGKVeRNdp@calimero.vinschen.de> (raw)
In-Reply-To: <YhyUwucjllyFpkRy@calimero.vinschen.de>

On Feb 28 10:24, Corinna Vinschen wrote:
> On Feb 25 16:46, Johannes Schindelin wrote:
> > On Tue, 22 Feb 2022, Corinna Vinschen wrote:
> > > On Feb 21 14:36, Johannes Schindelin wrote:
> > > > 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 ;-)
> 
> Probably not.  I'm not aware that git uses POSIX IPC objects.
> 
> > > 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?
> 
> Cygwin uses ordinary on-disk files to emulate the objects, and
> they have to persist over process exits.  Unfortunately I don't
> see any other way to create persistent objects from user space.

Btw., you don't have to create those dirs.  Only if you actually use
POSIX IPC calls, the directories are required.

In fact, the IPC objects are just mmaps (message queues, shared mem
objects), or the file is just used to store the values after closing
the object (semaphores).

With "persistent" I mean, "DLL lifetime persistent".  It's not required
that the objects are persistent until system shutdown, as it is now with
file-based objects.
It would be sufficient if the objects persist until the last Cygwin
process of a Cygwin process tree exits.  I'm open to ideas, but they
shouldn't further slow down the startup of a Cygwin process tree.


Corinna

  reply	other threads:[~2022-02-28  9:57 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-21 13:36 [PATCH 0/2] Provide virtual /dev/fd and /dev/{stdin,stdout,stderr} symlinks Johannes Schindelin
2022-02-21 13:36 ` [PATCH 1/2] Implicitly support the /dev/fd symlink and friends Johannes Schindelin
2022-02-21 13:36 ` [PATCH 2/2] Regenerate devices.cc Johannes Schindelin
2022-02-22 12:34 ` [PATCH 0/2] Provide virtual /dev/fd and /dev/{stdin,stdout,stderr} symlinks Corinna Vinschen
2022-02-25 15:46   ` [PATCH 0/2] Provide virtual /dev/fd and /dev/{stdin, stdout, stderr} symlinks Johannes Schindelin
2022-02-28  9:24     ` Corinna Vinschen
2022-02-28  9:57       ` Corinna Vinschen [this message]
2023-03-28  8:34         ` Johannes Schindelin
2022-02-25 18:35 ` [PATCH 0/2] Provide virtual /dev/fd and /dev/{stdin,stdout,stderr} symlinks Brian Inglis
2023-03-28  8:36   ` Johannes Schindelin

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=YhyccZ1dGKVeRNdp@calimero.vinschen.de \
    --to=corinna-cygwin@cygwin.com \
    --cc=cygwin-patches@cygwin.com \
    /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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).