public inbox for cygwin-developers@cygwin.com
 help / color / mirror / Atom feed
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin-developers@cygwin.com
Subject: Re: 3.3.0: Possible regression in cygwin DLL (Win10); fixed in snapshot
Date: Thu, 11 Nov 2021 17:07:17 +0100	[thread overview]
Message-ID: <YY0/teFKmHmkJNv6@calimero.vinschen.de> (raw)
In-Reply-To: <20211111222056.c0ed3ac2fec60b6ff0be8085@nifty.ne.jp>

On Nov 11 22:20, Takashi Yano wrote:
> On Thu, 11 Nov 2021 21:02:34 +0900
> Takashi Yano wrote:
> > On Thu, 11 Nov 2021 12:33:21 +0100
> > Corinna Vinschen wrote:
> > > On Nov 11 20:12, Takashi Yano wrote:
> > > > > [FileProcessIdsUsingFileInformation]
> > > > 
> > > > Thanks for advice. get_query_hdl_per_* is called in the write side,
> > > > so only knows pipe handle of the write side. We would like to know
> > > > ProcessId which have pipe handle of the read side. Can we use
> > > > FileProcessIdsUsingFileInformation for this perpose?
> > > 
> > > I don't know.  I just stumbled over it yesterday and I thought it might
> > > be something we could utilize.  Supposedly it returns PIDs for processes
> > > having that file open, but how this works for pipe read/write sides
> > > needs testing.  Of course, knowing how Windows functions usually only go
> > > half the way, the function will either only return the current side of
> > > the pipe, or even an error code :-/  Never mind, it was just an idea.
> > 
> > I have tested the behaviour of FileProcessIdsUsingFileInformation
> > just now. We can use it! I will try to use it in get_query_hdl().
> 
> I have tried to utilize FileProcessIdsUsingFileInformation in
> get_query_hdl_per_process() as the patch attached. It works as
> expected.
> 
> I also measured the response of select() using these functions.
> The first time and second time responses are measured. The second
> time should be much faster than the first time because search
> result has been cached.
> 
> First time, Second time
>  4.620400 [msec], 0.102300 [msec] << get_query_hdl_per_process()
> 19.080400 [msec], 0.199000 [msec] << get_query_hdl_per_system()
> 14.364300 [msec], 0.156800 [msec] << FileProcessIdsUsingFileInformation
> 
> Unfortunately, FileProcessIdsUsingFileInformation is slower than
> current get_query_hdl_per_process(). It takes about 3 times longer
> time.

*laughing manically*

Your previous mail was a nice surprise, but now we're back on earth it
seems.

On second thought I guess this even makes sense.  At Vista times
NtQueryInformationProcess(ProcessHandleInformation) didn't exist,
so the method to check this is probably along the lines of your
get_query_hdl_per_system function, just faster because it's all
implemented in a single system call.  And it's probably still
implemented this way.

Oh well.  Thanks for testing!


Corinna

  reply	other threads:[~2021-11-11 16:07 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAEv6GOB8PXHgHoz7hdJy6Bia2GWEmUDnTd252gTGinz2vuv=hA@mail.gmail.com>
     [not found] ` <20211105123950.b118a7f2ba38379764df4c12@nifty.ne.jp>
     [not found]   ` <CAEv6GOA-y58YrftXgEgFrjqtOTHmfdu2Vrq76Lwn0suZpZ=U9w@mail.gmail.com>
     [not found]     ` <20211105170542.96ce6dd4ca32880ddfddd660@nifty.ne.jp>
     [not found]       ` <CAEv6GODiM88Xfhk9R3AcEW6UTYSzACzYe4C0gPoTYm=u9ZTqRQ@mail.gmail.com>
     [not found]         ` <20211106044116.698b465a5d8ed6ce2cc75c99@nifty.ne.jp>
     [not found]           ` <2cfa5de7-3b95-9062-4572-f36d304bc916@cornell.edu>
2021-11-06  6:10             ` Takashi Yano
2021-11-06 11:42               ` Corinna Vinschen
2021-11-06 12:02                 ` Corinna Vinschen
2021-11-06 14:13                   ` Takashi Yano
2021-11-06 17:20                     ` Corinna Vinschen
2021-11-07  3:01                       ` Takashi Yano
2021-11-06 16:38                 ` Ken Brown
2021-11-06 17:20                   ` Corinna Vinschen
2021-11-07  3:46                   ` Takashi Yano
2021-11-07 22:20                     ` Ken Brown
2021-11-08  8:23                       ` Takashi Yano
2021-11-08  9:46                         ` Corinna Vinschen
2021-11-10  8:30                 ` Takashi Yano
2021-11-10 10:34                   ` Corinna Vinschen
2021-11-10 13:30                     ` Takashi Yano
2021-11-10 20:35                       ` Corinna Vinschen
2021-11-10 21:32                         ` Ken Brown
2021-11-11 16:11                           ` Ken Brown
2021-11-12  8:38                             ` Takashi Yano
2021-11-16 23:46                             ` Takashi Yano
2021-11-17  8:10                               ` Takashi Yano
2021-11-17 15:12                                 ` Ken Brown
2021-11-11  9:52                         ` Corinna Vinschen
2021-11-11 11:12                           ` Takashi Yano
2021-11-11 11:33                             ` Corinna Vinschen
2021-11-11 12:02                               ` Takashi Yano
2021-11-11 13:20                                 ` Takashi Yano
2021-11-11 16:07                                   ` Corinna Vinschen [this message]
2021-11-12  8:33                             ` Takashi Yano
2021-11-12 10:02                               ` Corinna Vinschen
2021-12-12 13:26                                 ` Takashi Yano
2021-12-12 13:36                                   ` Ken Brown
2021-12-13 11:15                                     ` Takashi Yano

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=YY0/teFKmHmkJNv6@calimero.vinschen.de \
    --to=corinna-cygwin@cygwin.com \
    --cc=cygwin-developers@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).