From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin-patches@cygwin.com
Subject: Re: [PATCH] Cygwin: pipe: Give up to use query_hdl for non-cygwin apps.
Date: Tue, 5 Mar 2024 11:14:46 +0100 [thread overview]
Message-ID: <ZebwloVEzedGcBWj@calimero.vinschen.de> (raw)
In-Reply-To: <20240305090648.6342d8f9cb8fd4ca64b47d38@nifty.ne.jp>
On Mar 5 09:06, Takashi Yano wrote:
> On Mon, 4 Mar 2024 18:38:07 +0100
> Corinna Vinschen wrote:
> > On Mar 4 16:45, ASSI wrote:
> > > Corinna Vinschen writes:
> > > > Right you are. We always said that independent Cygwin installations
> > > > are supposed to *stay* independent.
> > > >
> > > > Keep in mind that they don't share the same shared objects in the native
> > > > NT namespace and they don't know of each other. It's not only the
> > > > process table but also in-use FIFO stuff, pty info, etc.
> > >
> > > What I was getting at is that a process not showing up in the process
> > > list in one Cygwin installation doesn't automatically mean it's a native
> > > Windows process, it could be a process started by an independent Cygwin
> > > installation. So this way of checking for "native" Windows processes
> > > may or may not do what was originally intended.
> >
> > But that was my point. A "foreign" Cygwin process from another
> > installation is not a Cygwin process. Lots of interoperability
> > just won't work, so it's basically a native process.
>
> Actually, I think query_hdl can be retrieved from the process
> from another installation of cygwin using NtQueryInformationProcess()
> with ProcessHandleInformation. However, I cannot imagne the case
> that the pipe is made by one cygwin installation but the reader
> process is from another installation of cygwin.
>
> BTW, what about v2 patch itself?
It does the job with less code and less memory, which is good.
I would change the comment
stop to try to get query_hdl for non-cygwin apps
to something like
don't try to fetch query_hdl from non-cygwin apps
"stop trying" is a bit of a back-reference to the old code, which
is not necessary, I think.
This doesn't affect your patch, but while looking into this, what
strikes me as weird is that fhandler_pipe::temporary_query_hdl() calls
NtQueryObject() and assembles the pipe name via swscanf() every time it
is called.
Wouldn't it make sense to store the name in the fhandler's
path_conv::wide_path/uni_path at creation time instead?
The wide_path member is not used at all in pipes, ostensibly.
Thanks,
Corinna
next prev parent reply other threads:[~2024-03-05 10:14 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-03 5:09 Takashi Yano
2024-03-03 9:34 ` Johannes Schindelin
2024-03-03 10:21 ` Takashi Yano
2024-03-03 10:39 ` ASSI
2024-03-03 11:36 ` Takashi Yano
2024-03-04 10:34 ` Corinna Vinschen
2024-03-04 15:45 ` ASSI
2024-03-04 17:38 ` Corinna Vinschen
2024-03-05 0:06 ` Takashi Yano
2024-03-05 10:14 ` Corinna Vinschen [this message]
2024-03-05 14:47 ` Takashi Yano
2024-03-05 16:54 ` Corinna Vinschen
2024-03-05 18:42 ` Takashi Yano
2024-03-05 18:46 ` Takashi Yano
2024-03-06 12:54 ` Corinna Vinschen
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=ZebwloVEzedGcBWj@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).